Norma GB 18030-2022
Dr Ken Lunde
Niebanalną część mojego życia zawodowego poświęcam na śledzenie regionalnych standardów zestawów znaków, z niezwykle silnym naciskiem na te dla Azji Wschodniej. Po opublikowaniu lub zaktualizowaniu ważnego standardu biorę na siebie zbadanie, co się zmieniło w sensie praktycznym, oraz poinformowanie o tym społeczności programistów. Taki jest cel tego konkretnego artykułu.
Historia i przegląd
Chiny po raz pierwszy opublikowały standard GB 18030 w 2000 roku jako GB 18030-2000 (信息技术 信息交换用汉字编码字符集 基本集的扩充Technologia informacyjna — chińskie ideogramy zakodowane zestaw znaków do wymiany informacji — rozszerzenie podstawowego ustawiony ) i tak było zmieniony pięć lat później jako GB 18030-2005 (信 息 技 术 中文 编 码 字 符 集Technologia informacyjna — zestaw chińskich kodowanych znaków ). Uwaga, zmienił się tytuł. Siedemnaście lat później opublikowano GB 18030-2022 pod tym samym tytułem.
Poprzednie wersje tego standardu po prostu określały wymagany repertuar zgodnie z zakresami punktów kodowych. Wersja z 2022 r. określa obecnie w sekcji 9 trzy poziomy wdrażania . Główną zmianą, o której należy pamiętać, jest to, że poziom implementacji 1 wymaga następujących 66 ideogramów w zakresach 9FA6..9FB3 i 9FBC..9FEF, które nie były wymagane w wersji 2005 (ideogramy w pośrednim zakresie, 9FB4..9FBB, były częścią wymaganego repertuaru w wersji z 2005 roku i oczywiście nadal są wymagane):
0x82358F33 U+9FA6 龦
0x82358F34 U+9FA7 龧
0x82358F35 U+9FA8 龨
0x82358F36 U+9FA9 龩
0x82358F37 U+9FAA 龪
0x82358F38 U+9FAB 龫
0x82358F39 U+9FAC 龬
0x82359030 U+9FAD 龭
0x82359031 U+9FAE 龮
0x82359032 U+9FAF 龯
0x82359033 U+9FB0 龰
0x82359034 U+9FB1 龱
0x82359035 U+9FB2 龲
0x82359036 U+9FB3 龳
0x82359135 U+9FBC 龼
0x82359136 U+9FBD 龽
0x82359137 U+9FBE 龾
0x82359138 U+9FBF 龿
0x82359139 U+9FC0 鿀
0x82359230 U+9FC1 鿁
0x82359231 U+9FC2 鿂
0x82359232 U+9FC3 鿃
0x82359233 U+9FC4 鿄
0x82359234 U+9FC5 鿅
0x82359235 U+9FC6 鿆
0x82359236 U+9FC7 鿇
0x82359237 U+9FC8 鿈
0x82359238 U+9FC9 鿉
0x82359239 U+9FCA 鿊
0x82359330 U+9FCB 鿋
0x82359331 U+9FCC 鿌
0x82359332 U+9FCD 鿍
0x82359333 U+9FCE 鿎
0x82359334 U+9FCF 鿏
0x82359335 U+9FD0 鿐
0x82359336 U+9FD1 鿑
0x82359337 U+9FD2 鿒
0x82359338 U+9FD3 鿓
0x82359339 U+9FD4 鿔
0x82359430 U+9FD5 鿕
0x82359431 U+9FD6 鿖
0x82359432 U+9FD7 鿗
0x82359433 U+9FD8 鿘
0x82359434 U+9FD9 鿙
0x82359435 U+9FDA 鿚
0x82359436 U+9FDB 鿛
0x82359437 U+9FDC 鿜
0x82359438 U+9FDD 鿝
0x82359439 U+9FDE 鿞
0x82359530 U+9FDF 鿟
0x82359531 U+9FE0 鿠
0x82359532 U+9FE1 鿡
0x82359533 U+9FE2 鿢
0x82359534 U+9FE3 鿣
0x82359535 U+9FE4 鿤
0x82359536 U+9FE5 鿥
0x82359537 U+9FE6 鿦
0x82359538 U+9FE7 鿧
0x82359539 U+9FE8 鿨
0x82359630 U+9FE9 鿩
0x82359631 U+9FEA 鿪
0x82359632 U+9FEB 鿫
0x82359633 U+9FEC 鿬
0x82359634 U+9FED 鿭
0x82359635 U+9FEE 鿮
0x82359636 U+9FEF 鿯
Poziom implementacji 1 stwierdza również, że implementacje mogą wybrać obsługę jednego lub więcej skryptów innych niż chińskie (inaczej regionalnych lub mniejszościowych), których czterobajtowe zakresy kodowania GB 18030, liczba znaków i nazwy bloków Unicode są pokazane w tabeli 3 GB 18030- 2022, który jest odtworzony poniżej z nazwami bloków Unicode:
0x81318132–0x81319934 42 Arabic
0x8430BA32–0x8430FE35 59 Arabic Presentation Forms-A
0x84318730–0x84319530 84 Arabic Presentation Forms-B
0x8132E834–0x8132FD31 193 Tibetan
0x8134D238–0x8134E337 149 Mongolian
0x9034C538–0x9034C730 13 Mongolian Supplement
0x8134F434–0x8134F830 35 Tai Le
0x8134F932–0x81358437 83 New Tai Lue
0x81358B32–0x81359935 127 Tai Tham
0x82359833–0x82369435 1215 Yi Syllables
0x82369535–0x82369A32 48 Lisu
0x81339D36–0x8133B635 69 Hangul Jamo
0x8139A933–0x8139B734 51 Hangul Compatibility Jamo
0x8237CF35–0x8336BE36 3431 Hangul Syllables
0x9232C636–0x9232D635 133 Miao
0x81398B32–0x8139A135 214 Kangxi Radicals
0x8139EE39–0x82358738 6530 CJK Unified Ideographs Extension A
0x82358F33–0x82359636 66 CJK Unified Ideographs (URO)
0x95328236–0x9835F336 42711 CJK Unified Ideographs Extension B
0x9835F738–0x98399E36 4149 CJK Unified Ideographs Extension C
0x98399F38–0x9839B539 222 CJK Unified Ideographs Extension D
0x9839B632–0x9933FE33 5762 CJK Unified Ideographs Extension E
0x99348138–0x9939F730 7473 CJK Unified Ideographs Extension F
Ci, którzy znają bloki CJK Unified Ideographs, mogą się zastanawiać, dlaczego rozszerzenie A, które zawiera 6582 ideogramów (przynajmniej przed wersją Unicode 13.0), pokazuje w powyższej tabeli tylko 6530 . Brakujące 52 ideogramy są w rzeczywistości mapowane z dwubajtowego regionu kodowania GB 18030 — we wszystkich trzech wersjach standardu GB 18030 — w następujący sposób:
0xFE56 U+3447 㑇
0xFE55 U+3473 㑳
0xFE5A U+359E 㖞
0xFE5C U+360E 㘎
0xFE5B U+361A 㘚
0xFE60 U+3918 㤘
0xFE5F U+396E 㥮
0xFE62 U+39CF 㧏
0xFE65 U+39D0 㧐
0xFE63 U+39DF 㧟
0xFE64 U+3A73 㩳
0xFE68 U+3B4E 㭎
0xFE69 U+3C6E 㱮
0xFE6A U+3CE0 㳠
0xFE6F U+4056 䁖
0xFE70 U+415F 䅟
0xFE72 U+4337 䌷
0xFE78 U+43AC 䎬
0xFE77 U+43B1 䎱
0xFE7A U+43DD 䏝
0xFE7B U+44D6 䓖
0xFE7D U+464C 䙌
0xFE7C U+4661 䙡
0xFE80 U+4723 䜣
0xFE81 U+4729 䜩
0xFE82 U+477C 䝼
0xFE83 U+478D 䞍
0xFE85 U+4947 䥇
0xFE86 U+497A 䥺
0xFE87 U+497D 䥽
0xFE88 U+4982 䦂
0xFE89 U+4983 䦃
0xFE8A U+4985 䦅
0xFE8B U+4986 䦆
0xFE8D U+499B 䦛
0xFE8C U+499F 䦟
0xFE8F U+49B6 䦶
0xFE8E U+49B7 䦷
0xFE96 U+4C77 䱷
0xFE93 U+4C9F 䲟
0xFE94 U+4CA0 䲠
0xFE95 U+4CA1 䲡
0xFE97 U+4CA2 䲢
0xFE92 U+4CA3 䲣
0xFE98 U+4D13 䴓
0xFE99 U+4D14 䴔
0xFE9A U+4D15 䴕
0xFE9B U+4D16 䴖
0xFE9C U+4D17 䴗
0xFE9D U+4D18 䴘
0xFE9E U+4D19 䴙
0xFE9F U+4DAE 䶮
Jeśli chodzi o poprawki do reprezentatywnych glifów, jeden, który zanotowałem ponad osiem lat temu w tym artykule CJK Type Blog dla U+4548 䕈 w rozszerzeniu A, został poprawiony w GB 18030-2022. Poniżej znajduje się fragment wykresu kodu GB 18030-2022:
Chociaż z technicznego punktu widzenia nie jest to poprawka sama w sobie , GB 18030-2022 jest pierwszym standardem zestawu znaków GB, którego reprezentatywny glif U + FFE5 ¥ ZNAK JANA O PEŁNEJ SZEROKOŚCI jest bardziej poprawną formą podwójnej poprzeczki. Wszystkie poprzednie standardy zestawów znaków GB, które zawierają ten znak, obejmują postać pojedynczej poprzeczki, która w rzeczywistości nie występuje na wolności. Poniżej znajduje się fragment wykresu kodu GB 18030-2022:
Brak wymogu PUA
Z wyjątkiem 24 znaków, wszystkie wymagane znaki w GB 18030-2005 miały odpowiedniki w standardzie Unicode. Znaki, które wcześniej musiały być reprezentowane za pomocą punktów kodowych PUA ( Private Use Area ), można podzielić na dwie grupy. Pierwsza grupa obejmuje zmiany mapowania dla 18 znaków. Poniższa lista zawiera dwu- lub czterobajtowe punkty kodowe GB 18030, ich mapowania do standardu Unicode w GB 18030-2005, ich mapowania do standardu Unicode w GB 18030-2022 oraz ewentualne znaki, które są wyświetlane na wykresach kodów GB 18030-2022 (na stronach 11, 81, 160 i 242):
0xA6D9 U+E78D U+FE10 ︐
0xA6DA U+E78E U+FE12 ︒
0xA6DB U+E78F U+FE11 ︑
0xA6DC U+E790 U+FE13 ︓
0xA6DD U+E791 U+FE14 ︔
0xA6DE U+E792 U+FE15 ︕
0xA6DF U+E793 U+FE16 ︖
0xA6EC U+E794 U+FE17 ︗
0xA6ED U+E795 U+FE18 ︘
0xA6F3 U+E796 U+FE19 ︙
0xFE59 U+E81E U+9FB4 龴
0xFE61 U+E826 U+9FB5 龵
0xFE66 U+E82B U+9FB6 龶
0xFE67 U+E82C U+9FB7 龷
0xFE6D U+E832 U+9FB8 龸
0xFE7E U+E843 U+9FB9 龹
0xFE90 U+E854 U+9FBA 龺
0xFEA0 U+E864 U+9FBB 龻
0x82359037 U+9FB4 U+E81E (none)
0x82359038 U+9FB5 U+E826 (none)
0x82359039 U+9FB6 U+E82B (none)
0x82359130 U+9FB7 U+E82C (none)
0x82359131 U+9FB8 U+E832 (none)
0x82359132 U+9FB9 U+E843 (none)
0x82359133 U+9FBA U+E854 (none)
0x82359134 U+9FBB U+E864 (none)
0x84318236 U+FE10 U+E78D (none)
0x84318237 U+FE11 U+E78F (none)
0x84318238 U+FE12 U+E78E (none)
0x84318239 U+FE13 U+E790 (none)
0x84318330 U+FE14 U+E791 (none)
0x84318331 U+FE15 U+E792 (none)
0x84318332 U+FE16 U+E793 (none)
0x84318333 U+FE17 U+E794 (none)
0x84318334 U+FE18 U+E795 (none)
0x84318335 U+FE19 U+E796 (none)
0xFE51 U+E816 (none)
0xFE52 U+E817 (none)
0xFE53 U+E818 (none)
0xFE6C U+E831 (none)
0xFE76 U+E83B (none)
0xFE91 U+E855 (none)
0x95329031 U+20087
0x95329033 U+20089
0x95329730 U+200CC
0x9536B937 U+215D7
0x9630BA35 U+2298F
0x9635B630 U+241FE
Niektóre z wymaganych znaków, dokładnie 21 ideogramów, znajdowały się w bloku Ideogramy zgodności CJK. 12 z nich to w rzeczywistości ujednolicone ideografy CJK, które nadal są wymagane zgodnie z GB 18030-2022. Jednak dziewięć, które są rzeczywistymi ideogramami zgodności CJK, nie są już wymagane, a znak nie jest wyświetlany na wykresach kodów GB 18030-2022 (na stronach 80 i 81). Poniższa lista zawiera dwubajtowe punkty kodowe GB 18030, ich mapowania do standardu Unicode w GB 18030-2000, GB 18030-2005 i GB 18030-2022, same ideogramy oraz ich kanonicznie równoważne ujednolicone ideogramy CJK w nawiasach :
0xFD9C U+F92C 郎 (U+90CE 郎)
0xFD9D U+F979 凉 (U+51C9 凉)
0xFD9E U+F995 秊 (U+79CA 秊)
0xFD9F U+F9E7 裏 (U+88CF 裏)
0xFDA0 U+F9F1 隣 (U+96A3 隣)
0xFE40 U+FA0C 兀 (U+5140 兀)
0xFE41 U+FA0D 嗀 (U+55C0 嗀)
0xFE47 U+FA18 礼 (U+793C 礼)
0xFE49 U+FA20 蘒 (U+8612 蘒)
Wymóg TGH 2013
Należy spodziewać się przyrostowych dodatków do wymaganej części standardu GB 18030, a aktualizacja z 2022 r. nie jest wyjątkiem. W pierwszej części tego artykułu wspomniano o 66 ideogramach, które są obecnie wymagane na poziomie implementacji 1 .
Jeśli chodzi o wymagania dla Poziomu Implementacji 2 , Chiny opublikowały w 2013 roku 通用规范汉字表 ( Tōngyòng Guīfàn Hànzìbiǎo ; aka TGH 2013), w którym wymieniono 8105 ideogramów, zwanych po chińsku hanzi (汉字hànzì ). Te ideogramy są podzielone na trzy różne poziomy, które składają się odpowiednio z 3500, 3000 i 1605 ideogramów.
Jeśli weźmiemy pod uwagę poziom implementacji 1 , który obejmuje zakres 4E00..9FEF, w TGH 2013 obejmuje się 7 909 z 8 105 ideogramów. Pozostaje 196 ideogramów, które znajdują się w rozszerzeniu B (36), rozszerzeniu C (44) , Extension D (8) i Extension E (108) wymienione poniżej (ich czterobajtowe punkty kodowe GB 18030, ich mapowania do standardu Unicode w GB 18030-2005 i GB 18030-2022 oraz same ideogramy są pokazane ):
Rozszerzenie B — 36 ideogramów — wersja Unicode 3.1 (2001)
0x9532A632 U+20164
0x9533AA30 U+20676
0x9534CE36 U+20CD0
0x9535FE34 U+2139A
0x95368C35 U+21413
0x9632F737 U+235CB
0x9634A937 U+23C97
0x9634A938 U+23C98
0x9634D133 U+23E23
0x96378333 U+249DB
0x96379335 U+24A7D
0x96379B31 U+24AC9
0x9639A936 U+25532
0x9639AE34 U+25562
0x9639B534 U+255A8
0x9731A435 U+25ED7
0x9731F837 U+26221
0x9732B837 U+2648D
0x9732E936 U+26676
0x97338538 U+2677C
0x9733E930 U+26B5C
0x9733FC37 U+26C21
0x97388237 U+27FF9
0x9738EA36 U+28408
0x9739AB30 U+28678
0x9739AD39 U+28695
0x9739CF30 U+287E0
0x9830A833 U+28B49
0x9830C137 U+28C47
0x9830C235 U+28C4F
0x9830C237 U+28C51
0x9830C330 U+28C54
0x9830FD31 U+28E99
0x9834B536 U+29F7E
0x9834B631 U+29F83
0x9834B730 U+29F8C
0x98368F39 U+2A7DD
0x9836AC35 U+2A8FB
0x9836AF33 U+2A917
0x9836CB34 U+2AA30
0x9836CC30 U+2AA36
0x9836CF34 U+2AA58
0x9837D838 U+2AFA2
0x98388137 U+2B127
0x98388138 U+2B128
0x98388333 U+2B137
0x98388334 U+2B138
0x98389535 U+2B1ED
0x9838B130 U+2B300
0x9838BA39 U+2B363
0x9838BC31 U+2B36F
0x9838BC34 U+2B372
0x9838BD35 U+2B37D
0x9838CB30 U+2B404
0x9838CC32 U+2B410
0x9838CC35 U+2B413
0x9838D433 U+2B461
0x9838E137 U+2B4E7
0x9838E235 U+2B4EF
0x9838E332 U+2B4F6
0x9838E335 U+2B4F9
0x9838E535 U+2B50D
0x9838E536 U+2B50E
0x9838E936 U+2B536
0x9838F536 U+2B5AE
0x9838F537 U+2B5AF
0x9838F631 U+2B5B3
0x9838FB33 U+2B5E7
0x9838FC36 U+2B5F4
0x98398236 U+2B61C
0x98398237 U+2B61D
0x98398336 U+2B626
0x98398337 U+2B627
0x98398338 U+2B628
0x98398430 U+2B62A
0x98398432 U+2B62C
0x98398E37 U+2B695
0x98398E38 U+2B696
0x98399131 U+2B6AD
0x98399735 U+2B6ED
0x9839AA33 U+2B7A9
0x9839AD31 U+2B7C5
0x9839B034 U+2B7E6
0x9839B233 U+2B7F9
0x9839B236 U+2B7FC
0x9839B336 U+2B806
0x9839B430 U+2B80A
0x9839B538 U+2B81C
0x9839C534 U+2B8B8
0x9839FA31 U+2BAC7
0x99308B33 U+2BB5F
0x99308B36 U+2BB62
0x99308E32 U+2BB7C
0x99308E39 U+2BB83
0x99309E31 U+2BC1B
0x9930C039 U+2BD77
0x9930C235 U+2BD87
0x9930CD37 U+2BDF7
0x9930D237 U+2BE29
0x99318739 U+2C029
0x99318830 U+2C02A
0x99319437 U+2C0A9
0x99319830 U+2C0CA
0x9931B237 U+2C1D5
0x9931B331 U+2C1D9
0x9931B633 U+2C1F9
0x9931C334 U+2C27C
0x9931C436 U+2C288
0x9931C734 U+2C2A4
0x9931D239 U+2C317
0x9931D937 U+2C35B
0x9931DA33 U+2C361
0x9931DA36 U+2C364
0x9931F738 U+2C488
0x9931F930 U+2C494
0x9931F933 U+2C497
0x99328C34 U+2C542
0x9932A133 U+2C613
0x9932A138 U+2C618
0x9932A237 U+2C621
0x9932A335 U+2C629
0x9932A337 U+2C62B
0x9932A338 U+2C62C
0x9932A339 U+2C62D
0x9932A431 U+2C62F
0x9932A630 U+2C642
0x9932A638 U+2C64A
0x9932A639 U+2C64B
0x9932BD34 U+2C72C
0x9932BD37 U+2C72F
0x9932C839 U+2C79F
0x9932CC33 U+2C7C1
0x9932D233 U+2C7FD
0x9932E833 U+2C8D9
0x9932E838 U+2C8DE
0x9932E931 U+2C8E1
0x9932EA39 U+2C8F3
0x9932EC39 U+2C907
0x9932ED32 U+2C90A
0x9932EF31 U+2C91D
0x99338830 U+2CA02
0x99338932 U+2CA0E
0x99339433 U+2CA7D
0x99339837 U+2CAA9
0x9933A535 U+2CB29
0x9933A539 U+2CB2D
0x9933A630 U+2CB2E
0x9933A633 U+2CB31
0x9933A730 U+2CB38
0x9933A731 U+2CB39
0x9933A733 U+2CB3B
0x9933A737 U+2CB3F
0x9933A739 U+2CB41
0x9933A838 U+2CB4A
0x9933A932 U+2CB4E
0x9933AA34 U+2CB5A
0x9933AA35 U+2CB5B
0x9933AB34 U+2CB64
0x9933AB39 U+2CB69
0x9933AC32 U+2CB6C
0x9933AC35 U+2CB6F
0x9933AC39 U+2CB73
0x9933AD32 U+2CB76
0x9933AD34 U+2CB78
0x9933AD38 U+2CB7C
0x9933B331 U+2CBB1
0x9933B435 U+2CBBF
0x9933B436 U+2CBC0
0x9933B630 U+2CBCE
0x9933C336 U+2CC56
0x9933C435 U+2CC5F
0x9933D335 U+2CCF5
0x9933D336 U+2CCF6
0x9933D433 U+2CCFD
0x9933D435 U+2CCFF
0x9933D438 U+2CD02
0x9933D439 U+2CD03
0x9933D536 U+2CD0A
0x9933E235 U+2CD8B
0x9933E237 U+2CD8D
0x9933E239 U+2CD8F
0x9933E330 U+2CD90
0x9933E435 U+2CD9F
0x9933E436 U+2CDA0
0x9933E534 U+2CDA8
0x9933E539 U+2CDAD
0x9933E630 U+2CDAE
0x9933E939 U+2CDD5
0x9933F036 U+2CE18
0x9933F038 U+2CE1A
0x9933F137 U+2CE23
0x9933F230 U+2CE26
0x9933F234 U+2CE2A
0x9933FA36 U+2CE7C
0x9933FB38 U+2CE88
0x9933FC39 U+2CE93
Jeśli chodzi o implementacje czcionek, tylko czcionki chińskie uproszczone należące do rodziny krojów Noto Sans CJK (Google), Source Han Mono (Adobe) i Source Han Sans (Adobe) są już zgodne z normą GB 18030-2022 Poziom implementacji 2 na mocy przyszłościowe myślenie ze strony ich oryginalnych programistów (znanych również jako ja ). Microsoft YaHei (Microsoft), Noto Serif CJK (Google), PingFang (Apple) i Source Han Serif (Adobe) — przynajmniej aktualne wersje w chwili pisania tego tekstu — wymagają niewielkiej liczby dodatków URO, które są powiązane z poziomem implementacji 1 w celu uzyskania zgodności z GB 18030-2022Poziom wdrożenia 2 . Jak zwykle nagrałem krwawe szczegóły.
Pro Tip: Jeśli chcesz dowiedzieć się, jak zabezpieczyć przyszłe implementacje czcionek oparte na GB 18030, najpierw rozważ następujące dwie kluczowe kwestie:
- GB 18030 jest zsynchronizowany z ISO/IEC 10646, a nie ze standardem Unicode. Zawartość GB 18030-2022 jest zsynchronizowana z normą ISO/IEC 10646:2017 (znaną również jako piąta edycja), która jest odpowiednikiem Unicode w wersji 11.0. To wyjaśnia, dlaczego zakres 9FF0..9FFF nie jest uwzględniony na poziomie implementacji 1 . Te 16 ideogramów zostało dołączonych do URO w wersjach Unicode 13.0 (13) i 14.0 (3).
- Nowe wersje GB 18030 stopniowo zawierają ideogramy dołączane do URO, którego precedens został ustanowiony przez GB 18030-2022. Przewidziałem to i dlatego przewiduję, że to samo będzie prawdą w przypadku ideogramów dołączonych do rozszerzenia A. Kluczową kwestią jest to, że są to jedyne dwa bloki ujednoliconych ideogramów CJK, które są wymagane w całości, a wymaganie to logicznie rozciągałoby się na dowolne dołączone do nich ideogramy. Miałoby to wpływ na poziom implementacji 1 , co oznacza krytyczne dla implementacji czcionek. Zarówno bloki URO, jak i rozszerzenie A są teraz pełne, odpowiednio od wersji 14.0 i 13.0 Unicode.
URO — 13 ideogramów — wersja Unicode 13.0 (2020)
0x82359637 U+9FF0 鿰
0x82359638 U+9FF1 鿱
0x82359639 U+9FF2 鿲
0x82359730 U+9FF3 鿳
0x82359731 U+9FF4 鿴
0x82359732 U+9FF5 鿵
0x82359733 U+9FF6 鿶
0x82359734 U+9FF7 鿷
0x82359735 U+9FF8 鿸
0x82359736 U+9FF9 鿹
0x82359737 U+9FFA 鿺
0x82359738 U+9FFB 鿻
0x82359739 U+9FFC 鿼
0x82359830 U+9FFD 鿽
0x82359831 U+9FFE 鿾
0x82359832 U+9FFF 鿿
0x82358739 U+4DB6 䶶
0x82358830 U+4DB7 䶷
0x82358831 U+4DB8 䶸
0x82358832 U+4DB9 䶹
0x82358833 U+4DBA 䶺
0x82358834 U+4DBB 䶻
0x82358835 U+4DBC 䶼
0x82358836 U+4DBD 䶽
0x82358837 U+4DBE 䶾
0x82358838 U+4DBF 䶿
Dr Ken Lunde pracuje dla Apple jako programista czcionek od 2021-08-02 (i pełnił tę samą rolę jako wykonawca od 2020-01-16 do 2021-07-30), jest autorem CJKV Information Processing Second Edition (O'Reilly Media, 2009) i uzyskał tytuł licencjata (1987), magistra (1988) i doktora (1994) w dziedzinie lingwistyki na Uniwersytecie Wisconsin-Madison . Przed rozpoczęciem pracy w Apple pracował w Adobe przez ponad dwadzieścia osiem lat — od 1.07.1991 do 18.10.2019 — specjalizując się w opracowywaniu czcionek CJKV, co oznacza, że projektował i rozwijał czcionki dla krojów wschodnioazjatyckich, wraz z normy i specyfikacje, na których się opierają. Zaprojektował i opracował markę Adobe „Source Han” ( Source Han Sans ,Source Han Serif i Source Han Mono ) oraz marką Google „ Noto CJK ” ( Noto Sans CJK i Noto Serif CJK ) rodziny krojów Pan-CJK o otwartym kodzie źródłowym, które zostały wydane w 2014, 2017 i 2019 r. i opublikowały ponad 300 artykułów na temat Obecnie statyczny blog typu CJK firmy Adobe . Ken służy jako rejestrator IVD ( Ideographic Variation Database ) Konsorcjum Unicode, uczestniczy wspotkaniach UTC i IRG , uczestniczy w Komitecie Redakcyjnym Unicode , został indywidualnym członkiem Unicode Life Member w 2018 r., otrzymał nagrodę Unicode Bulldog Award 2018, był dyrektorem technicznym Unicode od 2018 do 2020 roku, został wiceprzewodniczącym podkomitetu Emoji w 2019 roku, opublikował UTN #43 ( Unihan Database Property „ kStrange ” ) w 2020 roku, został przewodniczącym grupy CJK & Unihan w 2021 roku, i opublikował UTN #45 ( Unihan Property History ) w 2022 roku. On i jego żona, Hitomi, są dumnymi właścicielami pary pojazdów elektrycznych His & Hers z przyspieszeniem 2018 LR Dual Motor AWD Tesla Model 3 .

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































