Кіріспе

Unicode стандартындағы CJK таңбаларын картаға түсіру – Unicode және Universal Character Set авторларының CJK тілдері деп аталатын хан таңбаларының әртүрлі таңбалар жиынтығын бірыңғай таңбалар жиынтығына келтіруге жасаған әрекеті. Хан таңбалары – қытай (ханзи), жапон (канджи), корей (ханжа) және вьетнам (чу хан) жазу жүйелерінде ортақ қолданылатын белгілер. Қазіргі заманғы қытай, жапон және корей шрифтері әдетте белгілі бір хан таңбасының аймақтық немесе тарихи түрлерін пайдаланады. Unicode құрамында бұл түрлерді бір "графема" немесе орфографиялық бірліктерді көрсететін әртүрлі глифтер ретінде қарастыру арқылы біріктіруге тырысылды, осылайша "хан біріктірілуі" пайда болды, ал нәтижесіндегі таңбалар жиынтығы кейде Unihan деп қысқартылады. Дегенмен, көптеген таңбалардың әртүрлі кодтық нүктелерге сәйкес келетін аймақтық түрлері бар, мысалы, дәстүрлі 個 (U+500B) және жеңілдетілген 个 (U+4E2A).

Грифемдер мен глифтер

Графема – жазу жүйесіндегі мағынаның ең кіші абстрактілік бірлігі. Кез келген графеманың көптеген мүмкін глифтік бейнелері бар, бірақ олардың барлығы белгілі бір жазу жүйесін оқи және жаза білетін адамдар үшін бірдей графема ретінде танылады. Юникод әдетте жазу жүйесінде графемаларды көрсету үшін таңбаларды кодтық нүктелерге тағайындайды, бірақ Юникод стандарты (3.4 D7 бөлімі) ескертеді: Абстрактілі таңба пайдаланушының «таңба» деп ойлайтынымен міндетті түрде сәйкес келмейді және оны графемамен шатастыруға болмайды. |source= The Unicode® Standard Version 15.0 – Core Specification §3.4 Characters and Encoding Алайда, бұл цитата кейбір графемалардың бірнеше графикалық элементтерден немесе «таңбалардан» тұратындығын көрсетеді. Мысалы, «å» комбинациясын құрайтын «a» таңбасы бірнеше Юникод абстрактілі таңбаларынан тұрған кезде пайдаланушы бір графема ретінде түсінуі мүмкін. Сонымен қатар, Юникод кейбір кодтық нүктелерді аз ғана (қосымша мақсаттардан басқа) пішімдеу таңбаларына, бос орын таңбаларына және графема емес, графема кластерлері арасындағы үзілістерді басқару үшін қолданылатын басқа да абстрактілі таңбаларға тағайындайды. Бірге Han идеограммаларымен Юникод стандарты абстрактілі таңбаларды графема ретінде емес, графеманың негізгі мағынасына сәйкес тағайындауда бұрынғы тәжірибелерден ауытқиды: лингвистер кейде семема деп атайды. Сондықтан бұл ауытқу абстрактілі таңба мен глиф арасындағы жиі келтірілген айырмашылықпен ғана түсіндірілмейді, бірақ графема ретінде тағайындалған абстрактілі таңба мен семема ретінде тағайындалған абстрактілі таңба арасындағы айырмашылыққа негізделген. Керісінше, ASCII-дің тыныш белгілер мен диакритиканы біріктіруін қарастырайық, онда мағыналары мүлдем әртүрлі графемалар (мысалы, апостроф пен бір ғана дәйектеме белгісі) глифтері бірдей болғандықтан біріктіріледі. Юнихан үшін таңбалар олардың сыртқы түріне емес, олардың анықтамасы немесе мағынасына байланысты біріктірілген. Графема әртүрлі глифтермен бейнеленуі үшін графеманың әдетте бір немесе басқа қаріпті таңдау арқылы немесе бірнеше глифтер бір қаріпке енгізілген кездегі глиф алмастыру ерекшеліктерін пайдалану арқылы анықталатын глифтік өзгерістері бар дегенді білдіреді. Мұндай глифтік вариациялар Юникодпен бай мәтіндік протоколдардың ерекшелігі деп саналады және Юникодтың жай мәтіндік мақсаттарымен дұрыс айналыспайды. Алайда, бір глифтен екіншісіне ауысу бір графемадан екіншісіне ауысуды білдірсе, онда глиф әлі де, мысалы, кіші әріп «a» ретінде түсінілетін бірдей графеманы білдіре алмайды. Юнихан үшін абстрактілі мағына өзгерген сайын дәл осылай жасалады, алайда графеманың абстрактілі мағынасы туралы айтудың орнына («а» әрпі), хан идеограммаларының бірігуі әр түрлі мағынаға жаңа код нүктесін береді, тіпті бұл мағына әртүрлі тілдерде әртүрлі графемалар арқылы айтылса да. «ö» сияқты графема француз тілінде (Noël сөзінде қолданылғандай) неміс тілінде (Österreich сөзінде қолданылғандай) басқаша мағына бере алады, бірақ ол әлі де бірдей графема болып табылады және оны ағылшын және неміс тілдері ортақ абстрактілі латын жазу жүйесімен (латынның өзімен бірге) бөлісу үшін оңай біріктіруге болады. Бұл мысал «абстрактілі таңба» мен графеманың жазу тіліндегі абстрактілі бірлік ретінде міндетті түрде бір-біріне сәйкес келмеуінің тағы бір себебін көрсетеді. Ағылшын тілінде «¨» диарезисі мен «o» екі бөлек графема ретінде қарастырылуы мүмкін, ал швед тілінде «ö» әрпі бір графема ретінде қарастырылуы мүмкін. Сол сияқты ағылшын тілінде «i» нүктесі «i» графемасының бөлігі ретінде түсініледі, ал басқа тілдерде, мысалы түрік тілінде нүкте нүктесіз «ı» графемасына қосылған жеке графема ретінде қарастырылуы мүмкін. Бір Unihan семесі үшін әртүрлі графемаларды қолданумен айналысу үшін Юникод бірнеше механизмдерге сүйенді: әсіресе мәтінді көрсетумен байланысты. Біріншіден, бұл тек қаріп мәселесі ретінде қарастырылды, сондықтан қытай, жапон немесе корей тілдерін көрсету үшін әртүрлі қаріптер қолданылуы мүмкін. Сондай-ақ OpenType сияқты қаріптер форматтары тілге сәйкес баламалы глифтерді карталауға мүмкіндік береді, сондықтан мәтінді көрсету жүйесі пайдаланушының қоршаған орта параметрлеріне қарап, қай глифті қолдану керектігін анықтай алады. Бұл тәсілдердің проблемасы – олар көп тілді мәтінді кодтаудың бірізді әдісін анықтау үшін Юникодтың мақсаттарына қол жеткізе алмайды. Сондықтан бұл мәселені глиф алмастырудың бай мәтіндік мәселесі ретінде қарастырмай, Юникод 3.2 нұсқасында алғаш және 4.0 нұсқасында толықтырылған вариация селекторлары тұжырымын қосты. Вариация селекторлары біріктірілетін таңбалар ретінде қарастырылса да, оларда сәйкес диакритикалық белгі немесе таңба жоқ. Оның орнына, базалық таңбамен біріктірілу арқылы, олар екі таңбалық тізбек базалық таңбаның вариациясын (әдетте графема тұрғысынан, бірақ жер атауы немесе басқа есім сияқты негізгі мағына тұрғысынан да) таңдайды. Бұл жағдайда бұл балама глифті таңдау емес, графема вариациясын немесе базалық абстрактілі таңбаның вариациясын таңдау. Мұндай екі таңбалық тізбек заманауи қаріптерде жеке глифке оңай бейімделе алады. Юникод 256 жеке вариация селекторын тағайындағандықтан, ол әрбір Han идеограммасы үшін 256 вариацияны тағайындауға қабілетті. Мұндай вариациялар бір тілге немесе басқа тілге тән болуы мүмкін және мұндай графема вариацияларын қамтитын жай мәтінді кодтауға мүмкіндік береді.

Юнихан "абстрактты таңбалар"

Unihan стандарттары «глифтер» емес, «абстрактілік таңбаларды» кодтайтындықтан, Unicode жасаған графикалық артефакттар уақытша техникалық кедергілер деп саналды және ең көп дегенде косметикалық мәселелер. Алайда, әсіресе Жапонияда, қытай таңбаларының жапон жазу жүйесіне енгізілу жолына байланысты, нақты бір вариантты көрсету мүмкін болмауы ғылыми жұмыста Unicode қолдануға елеулі кедергі болып саналды. Мысалы, «шөптің» біріктірілуі (жоғарыда түсіндірілген) тарихи мәтінді оның ерекше орфографиясын сақтап кодтауға болмайтынын білдіреді. Оның орнына, ғалым мәтінді жазылған күйінде беру үшін белгілі бір қаріптегі қажетті глифті табуға мәжбүр болады, бұл бірыңғай таңбалар жиынтығының мақсатын жоққа шығарады. Unicode осы қажеттілікке жауап ретінде авторларға белгілі бір идеограммалардың (немесе тіпті басқа таңбалардың) графималық варианттарын таңдауға мүмкіндік беру үшін вариант селекторларын қосты. Бірақ Шығыс Азия үкіметтерінің өкілдері қатыспады. Бастапқы жобалау мақсаты 16 биттік стандартты жасау болды, сондықтан Хан біріктіруі он мыңдаған таңбалардың қайталануын болдырмау үшін маңызды қадам болды. Бұл 16 биттік талап кейіннен тоқтатылды, сондықтан таңбалар жиынтығының көлемі бүгінде маңызды емес. Кейіннен дау халықаралық өкілді ISO ұйымына дейін кеңейді: бастапқы CJK бірлескен зерттеу тобы (CJK JRG) біріктірілмеген таңбалар жиынтығына арналған ұсынысты (DIS 10646) жақтады, «бірақ ол американдық және еуропалық ISO мүшелерінің дауыстарымен Unicode консорциумының біріктірілген таңбалар жиынтығымен біріктіруге басымдық берілді» (жапондық позиция нақты болмағанмен). Unicode Han біріктіруін бекіту ISO 10646/Unicode бірігуінің қажетті қадамы болды. Хан біріктіруіне қатысты дау-дамайлардың көп бөлігі Unicode-та анықталғандай, глифтер мен графемалардың байланысты, бірақ ерекше ұғымдары арасындағы айырмашылыққа негізделген. Unicode белгілі бір қаріптегі таңбаның нақты визуалды бейнесі болып табылатын глифтерге қарағанда абстрактілік таңбаларды (графемаларды) тағайындайды. Бір таңба көптеген түрлі глифтермен бейнеленуі мүмкін, мысалы, «g» немесе «a», екеуінде де бір шеңбер (, ) немесе екі шеңбер (, ) болуы мүмкін. Дегенмен, латын әліпбиіне негізделген тілдерді оқитын адам үшін «a» таңбасының екі нұсқасы да бірдей графема ретінде танылады. Ұлттық таңба код стандарттарындағы графемалар Unicode-тің Source Separation ережесіне сәйкес, тіпті олар бұрыннан бар таңбалардан құралса да, Unicode-ке қосылды. ҚКК тілдеріндегі ұлттық таңба код стандарттары, олардың дамуының технологиялық шектеулерін ескере отырып, айтарлықтай күрделі, сондықтан Хан біріктіруіне қатысқан ресми ҚКК өкілдері реформаға көңіл бөлген болуы мүмкін. Еуропалық нұсқалардан айырмашылығы, CJK Unicode шрифттері, Хан біріктіруіне байланысты, үлкен, бірақ ретсіз үсті-үстіне жабысу үлгілеріне ие, бұл тілге тән шрифттерді қажет етеді. Өкінішке орай, тілге тән шрифттерге қол жеткізу қиын, сондай-ақ «шөп» мысалындағыдай, басқа тіл стиліне көбірек тән вариантты табу да қиын. (Яғни, жапон ортасында дәстүрлі қытай тілінде көбірек кездесетін төрт штрихты түбірмен «шөпке» қол жеткізу қиын, ал мұндай шрифттер әдетте үш штрихты түбірді бейнелейді.) Unihan жақтастары тілдік тізбектерді анықтау үшін таңбалау тілдерін жақсы көреді, бірақ бұл берілген жағдайда нақты бір вариантты қолдануды қамтамасыз етпейді, тек сол вариантты осы нұсқа ретінде бейнелеуі ықтимал тілге тән қаріпті ғана қамтамасыз етеді. (Бұл жерде тек стильдік айырмашылықтар болады, өйткені жапон және қытай қаріптерінің таңдауы визуалды үйлесімді болмауы мүмкін.) Қытай қолданушылары Хан біріктіруіне аз қарсылық білдіреді, себебі Unicode жеңілдетілген қытай таңбаларын дәстүрлі қытай таңбаларымен біріктіруге тырыспады. (Жеңілдетілген қытай таңбалары Қытай Халық Республикасының, Сингапурдың және Малайзияның қытай тілінде сөйлейтін адамдары арасында қолданылады. Дәстүрлі қытай таңбалары Гонконг пен Тайваньда (Big5) қолданылады және олар кейбір айырмашылықтармен корей және жапон қолданушыларына көбірек таныс.) Unicode осы саяси мәселелерге қатысты бейтарап саналады және жеңілдетілген және дәстүрлі қытай глифтерін бөлек кодтады (мысалы, «жою» идеограммасы дәстүрлі қытай тілінде Big5 #A5E1 үшін 丟 U+4E1F және жеңілдетілген қытай тілінде GB #2210 үшін 丢 U+4E22). Сондай-ақ, дәстүрлі және жеңілдетілген таңбалар Unicode-тің Хан біріктіру қағидаларына сәйкес бөлек кодталуы керек, өйткені олар бұрыннан бар ҚХР таңбалар жиынтығында ажыратылады. Бұдан басқа, басқа варианттардағыдай, дәстүрліден жеңілдетілген таңбаға ауысу бір-бірге сәйкес келеді.

Барлық тең әріптердің бірігуі

Семантикалық байланысы бар барлық таңбалардың толық семантикалық біріктірілуіне ешқандай тырысқандық болған жоқ, бірақ бұл идея Шығыс Азия тілдеріндегі пайдаланушыларға – олар корей, қарапайым қытай, дәстүрлі қытай, Кю:дзитай жапон, Синдзитай жапон немесе вьетнам тілінде жазса да – бірдей қарауы мүмкін еді. Кейбір варианттардың бөлек кодтық нүктелері болса, ал басқа варианттар тобы бір кодтық нүктені бөлісуі керек емес, барлық варианттарды тек метадеректер тегтерімен (мысалы, веб-беттердегі CSS пішімдеуі) сенімді түрде көрсетуге болар еді. Бұл жүктеме 直, 別, 兩, 兔 сияқты әртүрлі нұсқаларын қолданушылардың барлығына тиер еді, бұл айырмашылық жеңілдетуге, халықаралық немесе ұлттық айырмашылыққа байланысты болсын. Алайда, кейбір платформаларда (мысалы, смартфондарда) құрылғыда тек бір қаріп орнатылған болуы мүмкін. Жүйелік қаріп әр кодтық нүкте үшін әдепкі глифті таңдауы керек, және бұл глифтер негізгі графималардың әртүрлі болуын көрсете отырып, өте әртүрлі болуы мүмкін. Осының салдарынан, тілдік белгілеуді барлық жағдайларда қолдану екі үлкен мәселеге әкеледі. Біріншіден, тілдік белгілеу қол жетімді емес жағдайлар бар (кодты жіберу, қарапайым мәтін). Екіншіден, кез келген шешім әр операциялық жүйеде семантикалық жағынан бірдей, бірақ көптеген варианттары бар таңбалар үшін көптеген глифтерді орнатуды талап етеді. Қарапайым қытай, дәстүрлі қытай, корей, вьетнам, Кю:дзитай жапон және Синдзитай жапон тілдеріндегі стандартты таңбалар жиынтығынан басқа, тарихшылар, тіл білімі мамандары және филологтар үшін қызығушылық тудыратын таңбалардың «көне» түрлері де бар. Unicode-тің Unihan дерекқоры көптеген таңбалар арасындағы байланыстарды көрсеткен. Unicode дерекқоры әртүрлі кодтық нүктелері бар вариантты таңбалар арасындағы байланыстарды тізімдейді. Алайда, ортақ кодтық нүктесі бар таңбалар үшін сілтеме глиф бейнесі көбінесе дәстүрлі қытай нұсқасына қарай бұрылады. Сонымен қатар, жұптарды семантикалық варианттар немесе z варианттары ретінде жіктеу туралы шешім әрқашан дәйекті немесе анық болмайды, тіпті нұсқаулықтағы ұтымдылыққа қарамастан. Мысалы, 丟 (U+4E1F) және 丢 (U+4E22) семантикалық варианттар ретінде қарастырылады, ал Unicode олардың абстрактілі пішіндерінің айтарлықтай ерекшеленетінін көрсетеді, ал 佛 және 仏 z варианттары ретінде тізімделген, олар тек қаріп стилімен ғана ерекшеленеді. Қайшылықты түрде, Unicode 兩 және 両-ды дерлік бірдей z варианттары деп санайды, сонымен бірге оларды едәуір ерекшеленетін семантикалық варианттар ретінде жіктейді. Кейбір таңбалар жұптары бір мезгілде семантикалық варианттар, мамандандырылған семантикалық варианттар және оңайлатылған варианттар болып табылады: 個 (U+500B) және 个 (U+4E2A). Өзара теңдеспеушілік жағдайлары да бар. Мысалы, Unihan дерекқоры 亀 (U+4E80) үшін 龜 (U+9F9C) оның z варианттары болып санайды, бірақ 龜 дерекқоры 亀-ді z варианттары ретінде тізімдемейді, тіпті 亀 жазылған кезде дерекқорында болғаны анық. Кейбір қателер мүлдем бірдей таңбалардың екі еселенуіне әкелді, мысалы 﨣 (U+FA23) және 𧺯 (U+27EAF). Егер қаріп екі нүктеге де кодталған глифтерге ие болса, олар бірдей көрінуі керек. Бұл жағдайлар ешқандай айырмашылық болмаса да z варианттары ретінде тізімделген. Кері айналымды жеңілдету үшін қасақана қайталаған таңбалар қосылды. Кері айналым Unicode-тің ерте сатылымдық артықшылығы болғандықтан, егер қолданылып жүрген ұлттық стандарт қажетсіз түрде таңбаны қайталаса, Unicode да солай етуі керек болды. Unicode мұндай қасақана қайталануларды 漢 (U+FA9A) сияқты «үйлесімділік варианттары» деп атайды, ол 漢 (U+6F22) өзінің үйлесімділік варианттары болып санайды. Егер қосымша екеуіне де бірдей қаріп қолданса, олар бірдей көрінуі керек. Кейде, мысалы, 車 үшін U+8ECA және U+F902, қосылған үйлесімділік таңбасы қазіргі 車 нұсқасын үйлесімділік варианттары және z варианттары ретінде тізімдейді. Үйлесімділік варианттарының өрісі z варианттарының өрісін жоққа шығарады, барлық формалардағы нормализацияны, оның ішінде канондық теңдестікті күшейтеді. Атауына қарамастан, үйлесімділік варианттары шын мәнінде канондық жағынан тең және кез келген Unicode нормализация схемасында біріктіріледі, тек үйлесімділік нормализациясында ғана емес. Бұл алдын ала құрастырылған сияқты канондық теңдестікке ұқсас. Көптеген бағдарламалық жасақтамалар (мысалы, Wikipedia-ны хостингілеуші MediaWiki бағдарламалық жасақтамасы) қолданылмайтын канондық теңдестік таңбалардың барлығын (мысалы, ангстрем символы) ұсынылатын эквиваленттерімен ауыстырады. Атауына қарамастан, CJK «үйлесімділік варианттары» – бұл үйлесімділік таңбалары емес, канондық жағынан тең таңбалар. 漢 (U+FA9A) 漢 (U+6F22) нұсқасынан кейін қосылды және оның жазбасы үйлесімділік туралы ақпаратты пайдаланушыға хабарлайды. Екінші жағынан, 漢 (U+6F22) бұл теңдестікті жазбасында көрсетпейді. Unicode барлық жазбалардың, қабылданғаннан кейін, үйлесімділік немесе теңдестік ережелерін өзгерте алмайтынын талап етеді, осылайша қазіргі таңбалар үшін нормализация ережелері өзгермейді. Дәстүрлі және оңайлатылған жұптардың кейбіреулері де семантикалық варианттар ретінде қарастырылады. Unicode анықтамаларына сәйкес, гомофония үшін әртүрлі таңбалар біріктірілмесе, барлық оңайлатулар семантикалық варианттардың бір түрі болады. Unicode 丟 және 丢-ды бір-бірінің дәстүрлі және оңайлатылған варианттары және бір-бірінің семантикалық варианттары ретінде жіктейді. Алайда, Unicode 億 (U+5104) және 亿 (U+4EBF) бір-бірінің дәстүрлі және оңайлатылған варианттары ретінде жіктелгенімен, 億 және 亿 бір-бірінің семантикалық варианттары емес. Unicode «Идеалды жағдайда, Unicode стандартында z варианттарының жұптары болмауы керек» дейді. Идеографиялық өзгерулер базасына (IVD) глиф жиынтықтарын тіркеу арқылы, Unicode ортасында мәтінді өңдеуде тиісті глифті көрсету немесе шектеу үшін идеографиялық өзгеру таңбаларын (IVS) пайдалануға болады.

Халықаралық идеографтар

Халықаралық идеографтар ядросы (IICore) – CJK Бірыңғай идеографтар тізімдерінен таңдалған 9810 идеографтың ішкі жиынтығы. Ол жадысы шектеулі құрылғыларда, кіріс/шығыс мүмкіндіктері төмен немесе ISO 10646 идеографтарының толық жиынтығын қолдануға болмайтын жағдайларда пайдалану үшін әзірленген. Ағымдағы стандартта 9810 символ бар.

Unihan деректер қоры файлдары

Unihan жобасы өз құрастыру деректер базасын қолжетімді етуге үнемі күш салып келген. Осы деректер базасындағы барлық кестелер бесінші нормативтік формада. libUnihan LGPL лицензиясымен, ал оның UnihanDb дерекқоры MIT лицензиясымен таратылады.