/**************************************************************
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 *
 *************************************************************/



 // include ---------------------------------------------------------------
#include <svx/ucsubset.hrc>

/*
 * strings for unicode range descriptions (used e.g. by charmap)
 * (see the Unicode Standard & TrueType::OS2.ulUnicodeRange description)
 */

Resource RID_SUBSETMAP
{
String RID_SUBSETSTR_BASIC_LATIN
{
	Text [ en-US ] = "Basic Latin";
	};
String RID_SUBSETSTR_LATIN_1
{
	Text [ en-US ] = "Latin-1";
	};
String RID_SUBSETSTR_LATIN_EXTENDED_A
{
	Text [ en-US ] = "Latin Extended-A";
	};
String RID_SUBSETSTR_LATIN_EXTENDED_B
{
	Text [ en-US ] = "Latin Extended-B";
	};
String RID_SUBSETSTR_IPA_EXTENSIONS
{
	Text [ en-US ] = "IPA Extensions";
	};
String RID_SUBSETSTR_SPACING_MODIFIERS
{
	Text [ en-US ] = "Spacing Modifier Letters";
	};
String RID_SUBSETSTR_COMB_DIACRITICAL
{
	Text [ en-US ] = "Combining Diacritical Marks";
	};
String RID_SUBSETSTR_BASIC_GREEK
{
	Text [ en-US ] = "Basic Greek";
	};
String RID_SUBSETSTR_GREEK_SYMS_COPTIC
{
	Text [ en-US ] = "Greek Symbols And Coptic";
	};
String RID_SUBSETSTR_CYRILLIC
{
	Text [ en-US ] = "Cyrillic";
	};
String RID_SUBSETSTR_CYRILLIC_SUPPL
{
    Text [ en-US ] = "Cyrillic Supplementary";
	};
String RID_SUBSETSTR_ARMENIAN
{
	Text [ en-US ] = "Armenian";
	};
String RID_SUBSETSTR_BASIC_HEBREW
{
	Text [ en-US ] = "Basic Hebrew";
	};
String RID_SUBSETSTR_HEBREW_EXTENDED
{
	Text [ en-US ] = "Hebrew Extended";
	};
String RID_SUBSETSTR_BASIC_ARABIC
{
	Text [ en-US ] = "Basic Arabic";
	};
String RID_SUBSETSTR_ARABIC_EXTENDED
{
	Text [ en-US ] = "Arabic Extended";

	};
String RID_SUBSETSTR_DEVANAGARI
{
	Text [ en-US ] = "Devanagari";
	};
String RID_SUBSETSTR_BENGALI
{
	Text [ en-US ] = "Bengali";
	};
String RID_SUBSETSTR_GURMUKHI
{
	Text [ en-US ] = "Gurmukhi";
	};
String RID_SUBSETSTR_GUJARATI
{
	Text [ en-US ] = "Gujarati";
	};
String RID_SUBSETSTR_ORIYA
{
	Text [ en-US ] = "Oriya";
	};
String RID_SUBSETSTR_TAMIL
{
	Text [ en-US ] = "Tamil";
	};
String RID_SUBSETSTR_TELUGU
{
	Text [ en-US ] = "Telugu";

	};
String RID_SUBSETSTR_KANNADA
{
	Text [ en-US ] = "Kannada";
	};
String RID_SUBSETSTR_MALAYALAM
{
	Text [ en-US ] = "Malayalam";
	};
String RID_SUBSETSTR_THAI
{
	Text [ en-US ] = "Thai";
	};
String RID_SUBSETSTR_LAO
{
	Text [ en-US ] = "Lao";
	};
String RID_SUBSETSTR_BASIC_GEORGIAN
{
	Text [ en-US ] = "Basic Georgian";
	};
String RID_SUBSETSTR_GEORGIAN_EXTENDED
{
	Text [ en-US ] = "Georgian Extended";
	};
String RID_SUBSETSTR_HANGUL_JAMO
{
	Text [ en-US ] = "Hangul Jamo";
	};
String RID_SUBSETSTR_LATIN_EXTENDED_ADDS
{
	Text [ en-US ] = "Latin Extended Additionals";
	};
String RID_SUBSETSTR_GREEK_EXTENDED
{
	Text [ en-US ] = "Greek Extended";
	};
String RID_SUBSETSTR_GENERAL_PUNCTUATION
{
	Text [ en-US ] = "General punctuation";
	};
String RID_SUBSETSTR_SUB_SUPER_SCRIPTS
{
	Text [ en-US ] = "Superscripts and Subscripts";
	};
String RID_SUBSETSTR_CURRENCY_SYMBOLS
{
	Text [ en-US ] = "Currency Symbols";
	};
String RID_SUBSETSTR_COMB_DIACRITIC_SYMS
{
	Text [ en-US ] = "Combining Diacritical Symbols";
	};
String RID_SUBSETSTR_LETTERLIKE_SYMBOLS
{
	Text [ en-US ] = "Letterlike Symbols";
	};
String RID_SUBSETSTR_NUMBER_FORMS
{
	Text [ en-US ] = "Number Forms";
	};
String RID_SUBSETSTR_ARROWS
{
	Text [ en-US ] = "Arrows";
	};
String RID_SUBSETSTR_MATH_OPERATORS
{
	Text [ en-US ] = "Mathematical Operators";
	};
String RID_SUBSETSTR_MISC_TECHNICAL
{
	Text [ en-US ] = "Miscellaneous Technical";

	};
String RID_SUBSETSTR_CONTROL_PICTURES
{
	Text [ en-US ] = "Control Pictures";
	};
String RID_SUBSETSTR_OPTICAL_CHAR_REC
{
	Text [ en-US ] = "Optical Character Recognition";
	};
String RID_SUBSETSTR_ENCLOSED_ALPHANUM
{
	Text [ en-US ] = "Enclosed Alphanumerics";
	};
String RID_SUBSETSTR_BOX_DRAWING
{
	Text [ en-US ] = "Box Drawing";
	};
String RID_SUBSETSTR_BLOCK_ELEMENTS
{
	Text [ en-US ] = "Block Elements";
	};
String RID_SUBSETSTR_GEOMETRIC_SHAPES
{
	Text [ en-US ] = "Geometric Shapes";
	};
String RID_SUBSETSTR_MISC_DINGBATS
{
	Text [ en-US ] = "Miscellaneous Symbols";

	};
String RID_SUBSETSTR_DINGBATS
{
	Text [ en-US ] = "Dingbats";

	};
String RID_SUBSETSTR_CJK_SYMS_PUNCTUATION
{
	Text [ en-US ] = "CJK Symbols And Punctuation";
	};
String RID_SUBSETSTR_HIRAGANA
{
	Text [ en-US ] = "Hiragana";
	};
String RID_SUBSETSTR_KATAKANA
{
	Text [ en-US ] = "Katakana";
	};
String RID_SUBSETSTR_BOPOMOFO
{
	Text [ en-US ] = "Bopomofo";
	};
String RID_SUBSETSTR_HANGUL_COMPAT_JAMO
{
	Text [ en-US ] = "Hangul Compatibility Jamo";
	};
String RID_SUBSETSTR_CJK_MISC
{
	Text [ en-US ] = "CJK Miscellaneous";
	};
String RID_SUBSETSTR_ENCLOSED_CJK_LETTERS
{
	Text [ en-US ] = "Enclosed CJK Letters And Months";
	};
String RID_SUBSETSTR_CJK_COMPATIBILITY
{
	Text [ en-US ] = "CJK Compatibility";

	};
String RID_SUBSETSTR_HANGUL
{
	Text [ en-US ] = "Hangul";
	};
String RID_SUBSETSTR_CJK_UNIFIED_IDGRAPH
{
	Text [ en-US ] = "CJK Unified Ideographs";
	};
String RID_SUBSETSTR_CJK_EXT_A_UNIFIED_IDGRAPH
{
	Text [ en-US ] = "CJK Unified Ideographs Extension-A";
	};
String RID_SUBSETSTR_PRIVATE_USE_AREA
{
	Text [ en-US ] = "Private Use Area";
	};
String RID_SUBSETSTR_CJK_COMPAT_IDGRAPHS
{
	Text [ en-US ] = "CJK Compatibility Ideographs";
	};
String RID_SUBSETSTR_ALPHA_PRESENTATION
{
	Text [ en-US ] = "Alphabetic Presentation Forms";
	};
String RID_SUBSETSTR_ARABIC_PRESENT_A
{
	Text [ en-US ] = "Arabic Presentation Forms-A";

	};
String RID_SUBSETSTR_COMBINING_HALF_MARKS
{
	Text [ en-US ] = "Combining Half Marks";
	};
String RID_SUBSETSTR_CJK_COMPAT_FORMS
{
	Text [ en-US ] = "CJK Compatibility Forms";
	};
String RID_SUBSETSTR_SMALL_FORM_VARIANTS
{
	Text [ en-US ] = "Small Form Variants";

	};
String RID_SUBSETSTR_ARABIC_PRESENT_B
{
	Text [ en-US ] = "Arabic Presentation Forms-B";
	};
String RID_SUBSETSTR_HALFW_FULLW_FORMS
{
	Text [ en-US ] = "Half-width and Full-width Forms";
	};
String RID_SUBSETSTR_SPECIALS
{
	Text [ en-US ] = "Specials";
	};
String RID_SUBSETSTR_HANGUL_GA
{
	Text [ en-US ] = "Hangul Ga";
	};
String RID_SUBSETSTR_HANGUL_NA
{
	Text [ en-US ] = "Hangul Na";
	};
String RID_SUBSETSTR_HANGUL_DA
{
	Text [ en-US ] = "Hangul Da";
	};
String RID_SUBSETSTR_HANGUL_RA
{
	Text [ en-US ] = "Hangul Ra";
	};
String RID_SUBSETSTR_HANGUL_MA
{
	Text [ en-US ] = "Hangul Ma";
	};
String RID_SUBSETSTR_HANGUL_BA
{
	Text [ en-US ] = "Hangul Ba";
	};
String RID_SUBSETSTR_HANGUL_SA
{
	Text [ en-US ] = "Hangul Sa";
	};
String RID_SUBSETSTR_HANGUL_AH
{
	Text [ en-US ] = "Hangul Ah";
	};
String RID_SUBSETSTR_HANGUL_JA
{
	Text [ en-US ] = "Hangul Ja";
	};
String RID_SUBSETSTR_HANGUL_CHA
{
	Text [ en-US ] = "Hangul Cha";
	};
String RID_SUBSETSTR_HANGUL_KA
{
	Text [ en-US ] = "Hangul Ka";
	};
String RID_SUBSETSTR_HANGUL_TA
{
	Text [ en-US ] = "Hangul Ta";
	};
String RID_SUBSETSTR_HANGUL_PA
{
	Text [ en-US ] = "Hangul Pa";
	};
String RID_SUBSETSTR_HANGUL_HA
{
	Text [ en-US ] = "Hangul Ha";
	};
String RID_SUBSETSTR_YI
{
	Text [ en-US ] = "Yi";
	};
String RID_SUBSETSTR_SINHALA
{
	Text [ en-US ] = "Sinhala";
	};
String RID_SUBSETSTR_TIBETAN
{
	Text [ en-US ] = "Tibetan";
	};
String RID_SUBSETSTR_MYANMAR
{
	Text [ en-US ] = "Myanmar";
	};
String RID_SUBSETSTR_KHMER
{
	Text [ en-US ] = "Khmer";
	};
String RID_SUBSETSTR_OGHAM
{
	Text [ en-US ] = "Ogham";
	};
String RID_SUBSETSTR_RUNIC
{
	Text [ en-US ] = "Runic";
	};
String RID_SUBSETSTR_SYRIAC
{
	Text [ en-US ] = "Syriac";
	};
String RID_SUBSETSTR_THAANA
{
	Text [ en-US ] = "Thaana";
	};
String RID_SUBSETSTR_ETHIOPIC
{
	Text [ en-US ] = "Ethiopic";
	};
String RID_SUBSETSTR_CHEROKEE
{
	Text [ en-US ] = "Cherokee";
	};
String RID_SUBSETSTR_CANADIAN_ABORIGINAL
{
	Text [ en-US ] = "Canadan Aboriginal Syllables";
	};
String RID_SUBSETSTR_MONGOLIAN
{
	Text [ en-US ] = "Mongolian";
	};

String RID_SUBSETSTR_MISC_MATH_SYMS_A
{
    Text [ en-US ] = "Miscellaneous Mathematical Symbols-A";
	};

String RID_SUBSETSTR_SUPPL_ARROWS_A
{
    Text [ en-US ] = "Supplemental Arrows-A";
	};

String RID_SUBSETSTR_BRAILLE_PATTERNS
{
    Text [ en-US ] = "Braille Patterns";
	};

String RID_SUBSETSTR_SUPPL_ARROWS_B
{
    Text [ en-US ] = "Supplemental Arrows-B";
	};

String RID_SUBSETSTR_MISC_MATH_SYMS_B
{
    Text [ en-US ] = "Miscellaneous Mathematical Symbols-B";
	};

String RID_SUBSETSTR_CJK_RADICAL_SUPPL
{
    Text [ en-US ] = "CJK Radical Supplement";
	};

String RID_SUBSETSTR_KANXI_RADICALS
{
    Text [ en-US ] = "Kanxi Radicals";
	};

String RID_SUBSETSTR_IDEO_DESC_CHARS
{
    Text [ en-US ] = "Ideographic Description Characters";
	};

String RID_SUBSETSTR_TAGALOG
{
    Text [ en-US ] = "Tagalog";
	};

String RID_SUBSETSTR_HANUNOO
{
    Text [ en-US ] = "Hanunoo";
	};

String RID_SUBSETSTR_TAGBANWA
{
    Text [ en-US ] = "Tagbanwa";
	};

String RID_SUBSETSTR_BUHID
{
    Text [ en-US ] = "Buhid";
	};

String RID_SUBSETSTR_KANBUN
{
    Text [ en-US ] = "Kanbun";
	};

String RID_SUBSETSTR_BOPOMOFO_EXTENDED
{
    Text [ en-US ] = "Bopomofo Extended";
	};

String RID_SUBSETSTR_KATAKANA_PHONETIC
{
    Text [ en-US ] = "Katakana Phonetics";
	};
};

// ********************************************************************** EOF
