본문 바로가기

Design

개발자없이 Noto Sans 폰트 커스텀/경량화하기

* 디자이너가 폰트를 커스텀하기 위해 우당탕탕 고군분투한 내용입니다.

 

갑자기 커스텀을?

보통 다국어 지원을 위해 Noto Sans를 많이 사용하는데, 많은 시간이 지난 지금도 여전히 이만한 폰트가 없다.
일단 이렇게 많은 언어를 지원하면서 사용하기 좋게 다듬어진 무료 폰트가 없기에... 현 회사도 다국어 지원을 위해 Noto Sans 폰트를 사용하고 있다. 

A 프로젝트 (영어, 한국어) : Noto Sans KR
B 프로젝트 (영어, 중국어) : Noto Sans SC
C 프로젝트 (영어, 스페인어) : Noto Sans 
D 프로젝트 (영어, 베트남어) : Noto Sans


여기는 4개의 프로덕트에서 5개의 언어(영어, 한국어, 중국어, 스페인어, 베트남어)를 지원하고 있고 Noto Sans, KR, SC로 3가지 타입을 사용하였다. 그런데 문제가 생겼다.

 

 

 

너네 왜 달라....

같은 Noto Sans이기에 폰트 디자인은 동일하고 언어 지원 범위만 다를 거라 생각했는데, 폰트 글리프(모양새), 행간, 자간도  다 달랐다. KR과 SC는 거의 동일하다고 봐도 무방했지만 Noto Sans는 유달리 달랐다.

 

 

가장 큰 차이는 아무래도 글리프이다. Noto Sans는 좀 더 꺾임이 있는 포인트를 가졌고 KR, SC는 꾸밈 요소가 더 많다. 사실 동그라미 표시한 부분 외에도 그냥 전체적으로 디테일이 다르다. 글리프뿐만 아니라 자간이나 행간도... 왜 다르게 만들었을까? 아무래도 언어권의 특징이 반영되었으리라 생각되지만, 이런 차이들로 인해 프로덕트가 파편화되기 시작했다.

일단 비주얼 차이는 둘째치고 QA를 하기 번거로웠으며, 폰트 스타일을 관리하는 것도 힘들어졌다. 
왜냐하면 현 회사는 Noto Sans KR로 작업하고, 개발에서 Noto Sans, Noto Sans SC로 변경하여 들어가는데, 폰트의 글리프나 자간, 행간이 다르다 보니 작업한 디자인과 개발본의 차이가 커졌다. 가장 큰 문제는 line-height가 달라지면서 컴포넌트의 사이즈도 달라졌다. 쒯. 기껏 시스템을 만들어놨더니 통일성이 깨지기 시작했다!


이 문제의 해결 방안으로 나온 게 폰트 커스텀이다.
말은 쉽다만, 맨땅에 헤딩인지라 막막했다. 그때 빛과 소금처럼 날 보듬어준 스포카 블로그. 구세주시여
커스텀 방법에 대해 자세하게 설명해주고 있어서, 어찌 커스텀할 지만 정한다면 이 아티클들을 따라가기만 하면 된다.
스포카의 글꼴 경량화

→ 스포카 한 산스 사이트 

 

일단 나는 첫 커스텀이기 때문에 두 가지 목표만 가져가기로 했다.

1. 각 언어들이 통일된 글리프와 행간을 갖도록 한다.
2. Noto Sans, KR, SC를 하나의 폰트 파일로 합친다.

 

 

 


 

 

베이스 폰트

Noto Sans SC를 베이스로 골랐다. 
5가지의 언어 중에 가장 많은 용량을 가지는 것이 중국어이기 때문이다. 글자가 많다보니 용량도 Regular.otf 하나가 무려 8.5MB다. 이 용량도 해결해야 할 문제 중 하나였다. 



Noto Sans SC는 어디까지 커버하나

Noto Sans SC는 중국어를 제외하더라도 영어, 스페인어, 한국어, 일본어의 알파벳 정도는 다 갖고 있다.
자세히 들여다보면 아래와 같다.

English Korean Chinese Spanish Vietnamese Japanese
O X O O O


Korean : 자/모음과 가나다... 정도는 있지만 완성형 글자를 갖고 있지 않아 한국어 대응은 안된다. 완벽한 대응을 위해서는 Noto Sans KR이 따로 있다.
Japanese : 히라가나, 가타카나 + 약간의 한자는 갖고 있지만 확실하게 대응하려면 Noto Sans JP를 사용해야 한다. 현 회사는 일본어를 지원하지 않으므로 아예 제거할 예정이다. 
Spanish :
기본적인 알파벳을 갖고 있기 때문에 얼추 다 대응된다. 하지만 확실하게 대응하려면 Noto Sans를 사용해서 Lain-Extended 영역까지 대응하면 좋다.
Vietnamese :
예전에는 한자를 사용했었지만 요즘에는 Spanish로 대체하여 사용한다. 따라서 Spanish가 대응되면 이 또한 해결된다.

 

 

수정 계획

1. 폰트 경량화
2. 파일 하나로 통일하기
3. 글리프 맞추기


3개의 폰트 파일을 하나로 만들어 디자인/개발에서의 관리가 용이했으면 했다.
이를 위해 폰트 파일 용량도 중요하니, 경량화도 할 계획이다. 그리고 언어별 글자들의 글리프 또한 동일해야 한다.



1.  각 폰트 경량화 하기

우선, Noto sans, KR, SC에서 불필요한 글자들을 제거하여 경량화할 계획이다. 이 것을 Subset Font라고 부른다. 그리고 그 경량화된 글자들을 하나에 때려 넣을 거다. 폰트를 편집하기 위해 FontLab서브셋 폰트 메이커라는 툴을 먼저 설치한다. 

폰트랩은 GUI로 폰트를 확인할 수 있어서 유용하다. 30 days Free Trial이기 때문에 빨리 작업에 착수한다.

 

(서브셋 폰트 메이커 사용법 : 스포카 가이드)

 

이제 불필요한 녀석들은 제거해보자.... 응? 어딜 어떻게 지워야 하지? 
그걸 알려면 이제 Unicode라는 걸 알아야 하는데, UTF-8, 16, Char 배열...
음. 그냥 글자들를 컴퓨터 언어화했다는 정도만 이해하도록 하자. 그 컴퓨터 언어화된 글자들은 서로 식별될 수 있는 고유의 unicode 값을 갖고 있고, 언어권 별로 특정 범위를 갖고 있어서 이 범위를 알면 수월하다. 각 unicode range를 구글링해도 되지만 이 사이트에서 쉽게 살펴볼 수 있다. unicode.org

 

 

Font Lab에서 폰트 파일을 열면, 각 글자들이 고유의 Unicode 값을 가진 것을 볼 수 있다. (위 이미지를 보면, A라는 글자는 0041이라는 유니코드를 갖고 있다.) 

 

 

1-1.  일본어 제거 + 스페인어, 한국어, 중국어 초기화

제일 먼저, SC 파일에서 현 서비스에서 지원하지 않는 일본어를 제거할 거다.
불필요한 일본어 범위는 아래와 같다. (아래 범위에서 특수문자는 일단 대부분 살려두었다. 특히 【】 같은 열고 닫는 특수문자는 중국에서 빈번히 사용되고 있다.) 서브셋 폰트 메이커는 입력한 글자만 남기고 다 지우는 구조라서, 이 일본어 제거 작업은 Font Lab에서 수동으로 제거하였다. 

  • 일본식 구두점(3000 - 303f)
  • 히라가나(3040 - 309f)
  • 가타카나(30a0 - 30ff)
  • 전자 로마자 및 반각 가타카나(ff00 - ffef)
  • CJK 통합 표의 문자 - 일반 및 일반 한자(4e00 - 9faf)
ぁ あ ぃ い ぅ う ぇ え ぉ お か が き ぎ く ぐ け げ こ ご さ ざ し じ す ず せ ぜ そ ぞ た だ ち ぢ っ つ づ て で と ど な に ぬ ね の は ば ぱ ひび ぴ ふ ぶ ぷ へ べ ぺ ほ ぼ ぽ ま み む め も ゃ や ゅ ゆ ょ よ ら り る れ ろ ゎ わ ゐ ゑ を ん ゔ ゕ ゖ ゙ ゚ ゛ ゜ ゝ ゞ ゟ
゠ ァ ai ゥ ウ エ ォ o ca ガ ki ギ ku g ケ ゲ コ ゴ sa ザ シ ジ s 즈 セ ゼ ソ 테 ゾ 치 타 ダヒ ヾ ピ ベ ペ ホ ボ ヾ ユ ヿ ヤ 류 ヶ ヨ ヶ ​​ヮ ワ ヴ ヲ
⺀ ⺁ ⺂ ⺃ ⺄ ⺅ ⺆ ⺇ ⺈ ⺉ ⺊ ⺋ ⺌ ⺍ ⺎ ⺏ ⺐ ⺑ ⺒ ⺓ ⺔ ⺕ ⺖ ⺗ ⺘ ⺙ ⺚ ⺛ ⺜ ⺝ ⺞ ⺟ ⺠ ⺡ ⺢ ⺣ ⺤ ⺥ ⺦ ⺧ ⺨ ⺩ ⺪ ⺫ ⺬ ⺭ ⺮ ⺯ ⺰ ⺱ ⺲ ⺳ ⺴ ⺵ ⺶ ⺷ ⺸ ⺹ ⺺ ⺻ ⺼ ⺽ ⺾ ⺿ ⻀ ⻁ ⻂ ⻃ ⻄ ⻅ ⻆ ⻇ ⻈ ⻉ ⻊ ⻋ ⻌ ⻍ ⻎ ⻏ ⻐ ⻑ ⻒ ⻓ ⻔ ⻕ ⻖ ⻗ ⻘ ⻙ ⻚ ⻛ ⻜ ⻝ ⻞ ⻟ ⻠ ⻡ ⻢ ⻣ ⻤ ⻥ ⻦ ⻧ ⻨ ⻩ ⻪ ⻫ ⻬ ⻭ ⻮ ⻯ ⻰ ⻱ ⻲ ⻳ ⼀ ⼁ ⼂ ⼃ ⼄ ⼅ ⼆ ⼇ ⼈ ⼉ ⼊ ⼋ ⼌ ⼍ ⼎ ⼏ ⼐ ⼑ ⼒ ⼓ ⼔ ⼕ ⼖ ⼗ ⼘ ⼙ ⼚ ⼛ ⼜ ⼝ ⼞ ⼟ ⼠ ⼡ ⼢ ⼣ ⼤ ⼥ ⼦ ⼧ ⼨ ⼩ ⼪ ⼫ ⼬ ⼭ ⼮ ⼯ ⼰ ⼱ ⼲ ⼳ ⼴ ⼵ ⼶ ⼷ ⼸ ⼹ ⼺ ⼻ ⼼ ⼽ ⼾ ⼿ ⽀ ⽁ ⽂ ⽃ ⽄ ⽅ ⽆ ⽇ ⽈ ⽉ ⽊ ⽋ ⽌ ⽍ ⽎ ⽏ ⽐ ⽑ ⽒ ⽓ ⽔ ⽕ ⽖ ⽗ ⽘ ⽙ ⽚ ⽛ ⽜ ⽝ ⽞ ⽟ ⽠ ⽡ ⽢ ⽣ ⽤ ⽥ ⽦ ⽧ ⽨ ⽩ ⽪ ⽫ ⽬ ⽭ ⽮ ⽯ ⽰ ⽱ ⽲ ⽳ ⽴ ⽵ ⽶ ⽷ ⽸ ⽹ ⽺ ⽻ ⽼ ⽽ ⽾ ⽿ ⾀ ⾁ ⾂ ⾃ ⾄ ⾅ ⾆ ⾇ ⾈ ⾉ ⾊ ⾋ ⾌ ⾍ ⾎ ⾏ ⾐ ⾑ ⾒ ⾓ ⾔ ⾕ ⾖ ⾗ ⾘ ⾙ ⾚ ⾛ ⾜ ⾝ ⾞ ⾟ ⾠ ⾡ ⾢ ⾣ ⾤ ⾥ ⾦ ⾧ ⾨ ⾩ ⾪ ⾫ ⾬ ⾭ ⾮ ⾯ ⾰ ⾱ ⾲ ⾳ ⾴ ⾵ ⾶ ⾷ ⾸ ⾹ ⾺ ⾻ ⾼ ⾽ ⾾ ⾿ ⿀ ⿁ ⿂ ⿃ ⿄ ⿅ ⿆ ⿇ ⿈ ⿉ ⿊ ⿋ ⿌ ⿍ ⿎ ⿏
⦅⦆. 「」· ヲ ァ ィ ゥ ェ ォ ャ ュ ョ ッ ー ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ ミム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ン ゙
. 〃 〄 々 〆 〇 <> "" 「」 「」【】 〒 〓 〔〕 〖〗 〘〙 [= ~ "" "〠 〡 〢 〣 〤 〥 〦 〧 〨 〩 〪 〫 〬 〭 〮 〯 〰 〱 〲 〳 〴 〵 〶 〷 〸 〹 〺 〻 〼 〽 〾 〿
ㇰ ㇱ ㇲ ㇳ ㇴ ㇵ ㇶ ㇷ ㇸ ㇹ ㇺ ㇻ ㇼ ㇽ ㇾ ㇿ ㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩ ㈪ ㈫ ㈬ ㈭ ㈮ ㈯ ㈰ ㈱ ㈲ ㈳ ㈴ ㈵ ㈶ ㈷ ㈸ ㈹ ㈺ ㈻ ㈼ ㈽ ㈾ ㈿ ㉀ ㉁ ㉂ ㉃ ㊀ ㊁ ㊂ ㊃ ㊄ ㊅ ㊆ ㊇ ㊈ ㊉ ㊊ ㊋ ㊌ ㊍ ㊎ ㊏ ㊐ ㊑ ㊒ ㊓ ㊔ ㊕ ㊖ ㊗ ㊘ ㊙ ㊚ ㊛ ㊜ ㊝ ㊞ ㊟ ㊠ ㊡ ㊢ ㊣ ㊤ ㊥ ㊦ ㊧ ㊨ ㊩ ㊪ ㊫ ㊬ ㊭ ㊮ ㊯ ㊰ ㊱ ㊲ ㊳ ㊴ ㊵ ㊶ ㊷ ㊸ ㊹ ㊺ ㊻ ㊼ ㊽ ㊾ ㊿ ㋀ ㋁ ㋂ ㋃ ㋄ ㋅ ㋆ ㋇ ㋈ ㋉ ㋊ ㋋ ㋐ ㋑ ㋒ ㋓ ㋔ ㋕ ㋖ ㋗ ㋘ ㋙ ㋚ ㋛ ㋜ ㋝ ㋞ ㋟ ㋠ ㋡ ㋢ ㋣ ㋤ ㋥ ㋦ ㋧ ㋨ ㋩ ㋪ ㋫ ㋬ ㋭ ㋮ ㋯ ㋰ ㋱ ㋲ ㋳ ㋴ ㋵ ㋶ ㋷ ㋸ ㋹ ㋺ ㋻ ㋼ ㋽ ㋾ ㌀ ㌁ ㌂ ㌃ ㌄ ㌅ ㌆ ㌇ ㌈ ㌉ ㌊ ㌋ ㌌ ㌍ ㌎ ㌏ ㌐ ㌑ ㌒ ㌓ ㌔ ㌕ ㌖ ㌗ ㌘ ㌙ ㌚ ㌛ ㌜ ㌝ ㌞ ㌟ ㌠ ㌡ ㌢ ㌣ ㌤ ㌥ ㌦ ㌧ ㌨ ㌩ ㌪ ㌫ ㌬ ㌭ ㌮ ㌯ ㌰ ㌱ ㌲ ㌳ ㌴ ㌵ ㌶ ㌷ ㌸ ㌹ ㌺ ㌻ ㌼ ㌽ ㌾ ㌿ ㍀ ㍁ ㍂ ㍃ ㍄ ㍅ ㍆ ㍇ ㍈ ㍉ ㍊ ㍋ ㍌ ㍍ ㍎ ㍏ ㍐ ㍑ ㍒ ㍓ ㍔ ㍕ ㍖ ㍗ ㍘ ㍙ ㍚ ㍛ ㍜ ㍝ ㍞ ㍟ ㍠ ㍡ ㍢ ㍣ ㍤ ㍥ ㍦ ㍧ ㍨ ㍩ ㍪ ㍫ ㍬ ㍭ ㍮ ㍯ ㍰ ㍱ ㍲ ㍳ ㍴ ㍵ ㍶ ㍻ ㍼ ㍽ ㍾ ㍿


이제 일본어를 제거한 SC에서, 한글의 자/모음, 한자들도 모두 제거한다. 한글과 한자는 눈으로 구별 가능하니 제거하기는 어렵지 않다. 다만 한자가 워낙 많아서 부분 별로 나눠 삭제하자. 컴퓨터가 힘들어한다.

이 위에 경량화한 한국어 중국어를 새로 넣을 것이다. 이 경량화 과정은 다시 서브셋 폰트 메이커를 이용한다. 

 

 

1-2.  한글 경량 (KS X 1001)

한글에서도 불필요한 녀석들이 있다. Noto Sans KR은 11,172개의 한글을 가지고 있는데, 실제 쓰이지 않는 글자수를 제외하면 2,350자이다.(KS X 1001) 시중에 나와있는 경량화된 KR 폰트도 이를 기반으로 했다. 
여기에 안그라픽스에서 작성한 논문을 기반으로 시대 흐름에 맞춰 224자 더 추가되었다. (KS 코드 완성형 한글의 추가 글자 제안) 

KS X 1001의 유니코드 범위는 U+AC00 ~ U+D7AF이고 거기에 224자가 추가된 것.
서브셋 폰트 메이커에 Noto Sans KR 폰트를 불러와서 아래 텍스트를 넣고 돌리면 필수 글자들만 남은 파일이 나온다. 파일은 일단 킵해둔다.

ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣ
가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝
갋갣걥겷괐괢굠굥궸귕귬긂긇긓깄깯꺆꺍껓껕꼉꼳꽅꽸꿘뀰뀼낻냗냡냣냬넏넢넫녇녱놁놑놰뇄뇡뇸눍눝뉻늗늧늼닁닏닽댠됭둗둚뒙딮딷똠똡똣똭똰뙇뙜뚧뜳뜽뜾랃랟랲럔럲럳렜렫롣롹뢔뤤맜맟맫먄몱뫠뫴뭥뮊뮹믁믕믜밷뱜뱡볌볻볿봥뵴붠붴뷁븡븨빋빧뺜뽓뾱뿕뿝쀠쁭샏샾섁섿셱솀솁솓쇵숖슌싥싳싿쎔쎠쎤쎵쎼쏼쑝쒐쒬씃씿앋앜얬얭옏옝옦옫왘왭왰욷웇웟웻윾읩읭읻잌잍쟵젇젉좬즒즤짣짲쫃쫒쬲쮓찓찟쵀췍칢칮칰칻캨캰컄켘콛쾃쿈쿽퀌퀜퀠큲킄탇턻톧퇻툶퉷팓팤팯펵퐉핰핳핻햏햔햣헗헠헡헣헿홥홨횽훕흝힣

 

 

 

1-3.  중국어 경량 (GB18030)

중국어가 제일 어려웠다. 일본어, 한국어는 어느 정도 구별해낼 수 있었지만 중국어는 거의 불가능했기 때문.
처음에는 한중일 통합 한자로 경량화를 접근했으나, 이건 중국어 대응이 제대로 되지 않았다. 이건 한국/중국/일본어에서 쓰이는 공통 한자를 묶어둔 것이기 때문에 당연한 결과다. 간체/번체 또한 모두 대응해야 했기 막막한 타이밍에 중국인 팀원의 도움을 받아 진행할 수 있었다. (Thank you!)
*간체(Simplified Chinese) : 간략하게 표시한 형태. 중국 본토에서 사용
*번체(Tranditional Chinese) : 본 문자의 획수를 그대로 표시하여 대만, 홍콩, 싱가포르, 한국, 일본 등에서 사용

 

중국어의 코드는 GB로 시작하는데 Buo Biao로 '국가표준'을 의미한다. 알아본 범위는 3개이다.

  • GB2312 : 간체 위주의 글자. 대략 7,400자
  • Big5 : 번체 위주의 13,500자. 
  • GB18030 : 중국에서 사용되는 거의 대부분의 한자가 들어있는 문자셋. 간/번체를 모두 지원. 중국이 국가표준으로 미는 것. 표준 중국어 간체 6,763 자, 중국어 번체 (Big5) 13,053 자, 홍콩에서 사용되는 3,000 자 및 GBK 21,003자가 포함. 

GB2312는 간체, Big5는 번체 위주이기 때문에 혹여나 두 가지를 합치면 좀 더 경량화될까 싶어 테스트하였지만 역시나 깨지는 글자가 많았다. GB18030으로 세팅을 하니 간/번체가 깨지지 않고 잘 나오는 것을 확인할 수 있었다.
이제 이 GB18030을 서브셋 폰트 메이커에 붙여 넣고 돌린다. (Noto Sans SC에서 GB18030를 다 지원하는 것 같지는 않은데, 일단 들어있는 것 중에 불필요한 부분은 걸러진다.)

 

GB18030 텍스트로 보기 (너무 길어 접어둠)

더보기
더보기
⺀ ⺁ ⺂ ⺃ ⺄ ⺅ ⺆ ⺇ ⺈ ⺉ ⺊ ⺋ ⺌ ⺍ ⺎ ⺏ ⺐ ⺑ ⺒ ⺓ ⺔ ⺕ ⺖ ⺗ ⺘ ⺙ ⺚ ⺛ ⺜ ⺝ ⺞ ⺟ ⺠ ⺡ ⺢ ⺣ ⺤ ⺥ ⺦ ⺧ ⺨ ⺩ ⺪ ⺫ ⺬ ⺭ ⺮ ⺯ ⺰ ⺱ ⺲ ⺳ ⺴ ⺵ ⺶ ⺷ ⺸ ⺹ ⺺ ⺻ ⺼ ⺽ ⺾ ⺿ ⻀ ⻁ ⻂ ⻃ ⻄ ⻅ ⻆ ⻇ ⻈ ⻉ ⻊ ⻋ ⻌ ⻍ ⻎ ⻏ ⻐ ⻑ ⻒ ⻓ ⻔ ⻕ ⻖ ⻗ ⻘ ⻙ ⻚ ⻛ ⻜ ⻝ ⻞ ⻟ ⻠ ⻡ ⻢ ⻣ ⻤ ⻥ ⻦ ⻧ ⻨ ⻩ ⻪ ⻫ ⻬ ⻭ ⻮ ⻯ ⻰ ⻱ ⻲ ⻳ ⼀ ⼁ ⼂ ⼃ ⼄ ⼅ ⼆ ⼇ ⼈ ⼉ ⼊ ⼋ ⼌ ⼍ ⼎ ⼏ ⼐ ⼑ ⼒ ⼓ ⼔ ⼕ ⼖ ⼗ ⼘ ⼙ ⼚ ⼛ ⼜ ⼝ ⼞ ⼟ ⼠ ⼡ ⼢ ⼣ ⼤ ⼥ ⼦ ⼧ ⼨ ⼩ ⼪ ⼫ ⼬ ⼭ ⼮ ⼯ ⼰ ⼱ ⼲ ⼳ ⼴ ⼵ ⼶ ⼷ ⼸ ⼹ ⼺ ⼻ ⼼ ⼽ ⼾ ⼿ ⽀ ⽁ ⽂ ⽃ ⽄ ⽅ ⽆ ⽇ ⽈ ⽉ ⽊ ⽋ ⽌ ⽍ ⽎ ⽏ ⽐ ⽑ ⽒ ⽓ ⽔ ⽕ ⽖ ⽗ ⽘ ⽙ ⽚ ⽛ ⽜ ⽝ ⽞ ⽟ ⽠ ⽡ ⽢ ⽣ ⽤ ⽥ ⽦ ⽧ ⽨ ⽩ ⽪ ⽫ ⽬ ⽭ ⽮ ⽯ ⽰ ⽱ ⽲ ⽳ ⽴ ⽵ ⽶ ⽷ ⽸ ⽹ ⽺ ⽻ ⽼ ⽽ ⽾ ⽿ ⾀ ⾁ ⾂ ⾃ ⾄ ⾅ ⾆ ⾇ ⾈ ⾉ ⾊ ⾋ ⾌ ⾍ ⾎ ⾏ ⾐ ⾑ ⾒ ⾓ ⾔ ⾕ ⾖ ⾗ ⾘ ⾙ ⾚ ⾛ ⾜ ⾝ ⾞ ⾟ ⾠ ⾡ ⾢ ⾣ ⾤ ⾥ ⾦ ⾧ ⾨ ⾩ ⾪ ⾫ ⾬ ⾭ ⾮ ⾯ ⾰ ⾱ ⾲ ⾳⾴⾵⾶⾷⾸⾹⾺⾻⾼⾽⾾⾿⿀⿁⿂⿃⿄⿅⿆⿇⿈⿉⿊⿋⿌⿍⿎⿏⿐⿑⿒⿓⿔⿕ ㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩一丁七万丈三上下丌不与丐丑专且丕世丘丙业丛东丝丞丢两严丧丨个丫丬中丰串临丶丸丹为主丽举丿乃久乇么义之乌乍乎乏乐乒乓乔乖乘乙乜九乞也习乡书乩买乱乳乾了予争事二亍于亏云互亓五井亘亚些亟亠亡亢交亥亦产亨亩享京亭亮亲亳亵人亻亿什仁仂仃仄仅仆仇仉今介仍从仑仓仔仕他仗付仙仝仞仟仡代令以仨仪仫们仰仲仳仵件价任份仿企伉伊伍伎伏伐休众优伙会伛伞伟传伢伤伥伦伧伪伫伯估伲伴伶伸伺似伽佃但位低住佐佑体何佗佘余佚佛作佝佞佟你佣佤佥佧佩佬佯佰佳佴佶佻佼佾使侃侄侈侉例侍侏侑侔侗供依侠侣侥侦侧侨侩侪侬侮侯侵便促俄俅俊俎俏俐俑俗俘俚俜保俞俟信俣俦俨俩俪俭修俯俱俳俸俺俾倌倍倏倒倔倘候倚倜借倡倥倦倨倩倪倬倭倮债值倾偃假偈偌偎偏偕做停健偬偶偷偻偾偿傀傅傈傍傣傥傧储傩催傲傺傻像僖僚僦僧僬僭僮僳僵僻儆儇儋儒儡儿兀允元兄充兆先光克免兑兔兕兖党兜兢入全八公六兮兰共关兴兵其具典兹养兼兽冀冁冂内冈冉册再冒冕冖冗写军农冠冢冤冥冫冬冯冰冱冲决况冶冷冻冼冽净凄准凇凉凋凌减凑凛凝几凡凤凫凭凯凰凳凵凶凸凹出击凼函凿刀刁刂刃分切刈刊刍刎刑划刖列刘则刚创初删判刨利别刭刮到刳制刷券刹刺刻刽刿剀剁剂剃削剌前剐剑剔剖剜剞剡剥剧剩剪副割剽剿劁劂劈劐劓力劝办功加务劢劣动助努劫劬劭励劲劳劾势勃勇勉勋勐勒勖勘募勤勰勹勺勾勿匀包匆匈匍匏匐匕化北匙匚匝匠匡匣匦匪匮匹区医匾匿十千卅升午卉半华协卑卒卓单卖南博卜卞卟占卡卢卣卤卦卧卩卫卮卯印危即却卵卷卸卺卿厂厄厅历厉压厌厍厕厘厚厝原厢厣厥厦厨厩厮厶去县叁参又叉及友双反发叔取受变叙叛叟叠口古句另叨叩只叫召叭叮可台叱史右叵叶号司叹叻叼叽吁吃各吆合吉吊同名后吏吐向吒吓吕吖吗君吝吞吟吠吡吣否吧吨吩含听吭吮启吱吲吴吵吸吹吻吼吾呀呃呆呈告呋呐呒呓呔呕呖呗员呙呛呜呢呤呦周呱呲味呵呶呷呸呻呼命咀咂咄咆咋和咎咏咐咒咔咕咖咙咚咛咝咣咤咦咧咨咩咪咫咬咭咯咱咳咴咸咻咽咿哀品哂哄哆哇哈哉哌响哎哏哐哑哒哓哔哕哗哙哚哜哝哞哟哥哦哧哨哩哪哭哮哲哳哺哼哽哿唁唆唇唉唏唐唑唔唛唠唢唣唤唧唪唬售唯唰唱唳唷唼唾唿啁啃啄商啉啊啐啕啖啜啡啤啥啦啧啪啬啭啮啵啶啷啸啻啼啾喀喁喂喃善喇喈喉喊喋喏喑喔喘喙喜喝喟喧喱喳喵喷喹喻喽喾嗄嗅嗉嗌嗍嗑嗒嗓嗔嗖嗜嗝嗟嗡嗣嗤嗥嗦嗨嗪嗫嗬嗯嗲嗳嗵嗷嗽嗾嘀嘁嘈嘉嘌嘎嘏嘘嘛嘞嘟嘣嘤嘧嘬嘭嘱嘲嘴嘶嘹嘻嘿噌噍噎噔噗噘噙噜噢噤器噩噪噫噬噱噶噻噼嚅嚆嚎嚏嚓嚣嚯嚷嚼囊囔囗囚四囝回囟因囡团囤囫园困囱围囵囹固国图囿圃圄圆圈圉圊圜土圣在圩圪圬圭圮圯地圳圹场圻圾址坂均坊坌坍坎坏坐坑块坚坛坜坝坞坟坠坡坤坦坨坩坪坫坭坯坳坶坷坻坼垂垃垄垅垆型垌垒垓垛垠垡垢垣垤垦垧垩垫垭垮垲垴垸埂埃埋城埏埒埔埕埘埙埚埝域埠埤埭埯埴埸培基埽堀堂堆堇堋堍堑堕堙堞堠堡堤堪堰堵塄塌塍塑塔塘塞塥填塬塾墀墁境墅墉墒墓墙墚增墟墨墩墼壁壅壑壕壤士壬壮声壳壶壹夂处备复夏夔夕外夙多夜够夤夥大天太夫夭央夯失头夷夸夹夺夼奁奂奄奇奈奉奋奎奏契奔奕奖套奘奚奠奢奥女奴奶奸她好妁如妃妄妆妇妈妊妍妒妓妖妗妙妞妣妤妥妨妩妪妫妮妯妲妹妻妾姆姊始姐姑姒姓委姗姘姚姜姝姣姥姨姬姹姻姿威娃娄娅娆娇娈娉娌娑娓娘娜娟娠娣娥娩娱娲娴娶娼婀婆婉婊婕婚婢婧婪婴婵婶婷婺婿媒媚媛媪媲媳媵媸媾嫁嫂嫉嫌嫒嫔嫖嫘嫜嫠嫡嫣嫦嫩嫫嫱嬉嬖嬗嬲嬴嬷孀子孑孓孔孕字存孙孚孛孜孝孟孢季孤孥学孩孪孬孰孱孳孵孺孽宀宁它宄宅宇守安宋完宏宓宕宗官宙定宛宜宝实宠审客宣室宥宦宪宫宰害宴宵家宸容宽宾宿寂寄寅密寇富寐寒寓寝寞察寡寤寥寨寮寰寸对寺寻导寿封射将尉尊小少尔尕尖尘尚尜尝尢尤尥尧尬就尴尸尹尺尻尼尽尾尿局屁层居屈屉届屋屎屏屐屑展屙属屠屡屣履屦屮屯山屹屺屿岁岂岈岌岍岐岑岔岖岗岘岙岚岛岜岢岣岩岫岬岭岱岳岵岷岸岽岿峁峄峋峒峙峡峤峥峦峨峪峭峰峻崂崃崆崇崎崔崖崛崞崤崦崧崩崭崮崴崽崾嵇嵊嵋嵌嵘嵛嵝嵩嵫嵬嵯嵴嶂嶙嶝嶷巅巍巛川州巡巢工左巧巨巩巫差巯己已巳巴巷巽巾币市布帅帆师希帏帐帑帔帕帖帘帙帚帛帜帝带帧席帮帱帷常帻帼帽幂幄幅幌幔幕幛幞幡幢干平年并幸幺幻幼幽广庀庄庆庇床庋序庐庑库应底庖店庙庚府庞废庠庥度座庭庳庵庶康庸庹庾廉廊廑廒廓廖廛廨廪廴延廷建廾廿开弁异弃弄弈弊弋式弑弓引弗弘弛弟张弥弦弧弩弪弭弯弱弹强弼彀彐归当录彖彗彘彝彡形彤彦彩彪彬彭彰影彳彷役彻彼往征徂径待徇很徉徊律後徐徒徕得徘徙徜御徨循徭微徵德徼徽心忄必忆忉忌忍忏忐忑忒忖志忘忙忝忠忡忤忧忪快忭忮忱念忸忻忽忾忿怀态怂怃怄怅怆怊怍怎怏怒怔怕怖怙怛怜思怠怡急怦性怨怩怪怫怯怵总怼怿恁恂恃恋恍恐恒恕恙恚恝恢恣恤恧恨恩恪恫恬恭息恰恳恶恸恹恺恻恼恽恿悃悄悉悌悍悒悔悖悚悛悝悟悠患悦您悫悬悭悯悱悲悴悸悻悼情惆惊惋惑惕惘惚惜惝惟惠惦惧惨惩惫惬惭惮惯惰想惴惶惹惺愀愁愆愈愉愍愎意愕愚感愠愣愤愦愧愫愿慈慊慌慎慑慕慝慢慧慨慰慵慷憋憎憔憝憧憨憩憬憷憾懂懈懊懋懑懒懔懦懵懿戆戈戊戋戌戍戎戏成我戒戕或戗战戚戛戟戡戢戤戥截戬戮戳戴户戽戾房所扁扃扇扈扉手扌才扎扑扒打扔托扛扣扦执扩扪扫扬扭扮扯扰扳扶批扼找承技抄抉把抑抒抓投抖抗折抚抛抟抠抡抢护报抨披抬抱抵抹抻押抽抿拂拄担拆拇拈拉拊拌拍拎拐拒拓拔拖拗拘拙拚招拜拟拢拣拥拦拧拨择括拭拮拯拱拳拴拶拷拼拽拾拿持挂指挈按挎挑挖挚挛挝挞挟挠挡挢挣挤挥挨挪挫振挲挹挺挽捂捃捅捆捉捋捌捍捎捏捐捕捞损捡换捣捧捩捭据捱捶捷捺捻掀掂掇授掉掊掌掎掏掐排掖掘掠探掣接控推掩措掬掭掮掰掳掴掷掸掺掼掾揄揆揉揍揎描提插揖揞揠握揣揩揪揭揲援揶揸揽揿搀搁搂搅搋搌搏搐搓搔搛搜搞搠搡搦搪搬搭搴携搽搿摁摄摅摆摇摈摊摒摔摘摞摧摩摭摸摹摺撂撄撅撇撑撒撕撖撙撞撤撩撬播撮撰撵撷撸撺撼擀擂擅操擎擐擒擗擘擞擢擤擦攀攉攒攘攥攫攮支攴攵收攸改攻放政故效敉敌敏救敕敖教敛敝敞敢散敦敫敬数敲整敷文斋斌斐斑斓斗料斛斜斟斡斤斥斧斩斫断斯新方於施旁旃旄旅旆旋旌旎族旒旖旗无既日旦旧旨早旬旭旮旯旰旱时旷旺昀昂昃昆昊昌明昏易昔昕昙昝星映春昧昨昭是昱昴昵昶昼显晁晃晋晌晏晒晓晔晕晖晗晚晟晡晤晦晨普景晰晴晶晷智晾暂暄暇暌暑暖暗暝暧暨暮暴暹暾曙曛曜曝曦曩曰曲曳更曷曹曼曾替最月有朊朋服朐朔朕朗望朝期朦木未末本札术朱朴朵机朽杀杂权杆杈杉杌李杏材村杓杖杜杞束杠条来杨杩杪杭杯杰杲杳杵杷杼松板极构枇枉枋析枕林枘枚果枝枞枢枣枥枧枨枪枫枭枯枰枳枵架枷枸柁柃柄柏某柑柒染柔柘柙柚柜柝柞柠柢查柩柬柯柰柱柳柴柽柿栀栅标栈栉栊栋栌栎栏树栓栖栗栝校栩株栲栳样核根格栽栾桀桁桂桃桄桅框案桉桊桌桎桐桑桓桔桕桠桡桢档桤桥桦桧桨桩桫桴桶桷梁梃梅梆梏梓梗梢梦梧梨梭梯械梳梵检棂棉棋棍棒棕棘棚棠棣森棰棱棵棹棺棼椁椅椋植椎椐椒椟椠椤椭椰椴椹椽椿楂楔楗楚楝楞楠楣楦楫楮楱楷楸楹楼榀概榄榆榇榈榉榍榔榕榘榛榜榧榨榫榭榱榴榷榻槁槊槌槎槐槔槛槟槠槭槲槽槿樊樗樘樟模樨横樯樱樵樽樾橄橇橐橘橙橛橡橥橱橹橼檀檄檎檐檑檗檠檩檫檬欠次欢欣欤欧欲欷欹欺款歃歆歇歉歌歙止正此步武歧歪歹死歼殁殂殃殄殆殇殉殊残殍殒殓殖殚殛殡殪殳殴段殷殿毁毂毅毋母每毒毓比毕毖毗毙毛毡毪毫毯毳毵毹毽氅氆氇氍氏氐民氓气氕氖氘氙氚氛氟氡氢氤氦氧氨氩氪氮氯氰氲水氵永氽汀汁求汆汇汉汊汐汔汕汗汛汜汝汞江池污汤汨汩汪汰汲汴汶汹汽汾沁沂沃沅沆沈沉沌沏沐沓沔沙沛沟没沣沤沥沦沧沩沪沫沭沮沱沲河沸油治沼沽沾沿泄泅泉泊泌泐泓泔法泖泗泛泞泠泡波泣泥注泪泫泮泯泰泱泳泵泶泷泸泺泻泼鹏鹑鹕鹗鹘鹚鹛鹜鹞鹣鹤鹦鹧鹨鹩鹪鹫鹬鹭鹰鹱鹳鹾鹿麂麇麈麋麒麓麝麟麦麴麸麻麽麾黄黉黍黎黏黑黔默黛黜黝黟黠黢黥黧黩黪黯黹黻黼黾鼋鼍鼎鼐鼓鼗鼙鼠鼢鼬鼯鼷鼹鼻鼽鼾齄齐齑齿龀龃龄龅龆龇龈龉龊龋龌龙龚龛龟龠饨饩饪饫饬饭饮饯饰饱饲饴饵饶饷饺饼饽饿馀馁馄馅馆馇馈馊馋馍馏馐馑馒馓馔馕首馗馘香馥馨马驭驮驯驰驱驳驴驵驶驷驸驹驺驻驼驽驾驿骀骁骂骄骅骆骇骈骊骋验骏骐骑骒骓骖骗骘骚骛骜骝骞骟骠骡骢骣骤骥骧骨骰骱骶骷骸骺骼髀髁髂髅髋髌髑髓高髟髡髦髫髭髯髹髻鬃鬈鬏鬓鬟鬣鬯鬲鬻鬼魁魂魃魄魅魇魈魉魍魏魑魔鱼鱿鲁鲂鲅鲆鲇鲈鲋鲍鲎鲐鲑鲒鲔鲕鲚鲛鲜鲞鲟鲠鲡鲢鲣鲤鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲸鲺鲻鲼鲽鳃鳄鳅鳆鳇鳊鳋鳌鳍鳎鳏鳐鳓鳔鳕鳖鳗鳘鳙鳜鳝鳞鳟鳢鸟鸠鸡鸢鸣鸥鸦鸨鸩鸪鸫鸬鸭鸯鸱鸲鸳鸵鸶鸷鸸鸹鸺鸽鸾鸿鹁鹂鹃鹄鹅鹆鹇鹈鹉鹊鹋鹌鹎闳间闵闶闷闸闹闺闻闼闽闾阀阁阂阃阄阅阆阈阉阊阋阌阍阎阏阐阑阒阔阕阖阗阙阚阜阝队阡阢阪阮阱防阳阴阵阶阻阼阽阿陀陂附际陆陇陈陉陋陌降限陔陕陛陟陡院除陧陨险陪陬陲陴陵陶陷隅隆隈隋隍随隐隔隗隘隙障隧隰隳隶隹隼隽难雀雁雄雅集雇雉雌雍雎雏雒雕雠雨雩雪雯雳零雷雹雾需霁霄霆震霈霉霍霎霏霓霖霜霞霪霭霰露霸霹霾青靓靖静靛非靠靡面靥革靳靴靶靼鞅鞋鞍鞑鞒鞔鞘鞠鞣鞫鞭鞯鞲鞴韦韧韩韪韫韬韭音韵韶页顶顷顸项顺须顼顽顾顿颀颁颂颃预颅领颇颈颉颊颌颍颏颐频颓颔颖颗题颚颛颜额颞颟颠颡颢颤颥颦颧风飑飒飓飕飘飙飚飞食飧飨餍餐餮饔饕饣饥饧醺采釉释里重野量金釜鉴銎銮鋈錾鍪鎏鏊鏖鐾鑫钅钆钇针钉钊钋钌钍钎钏钐钒钓钔钕钗钙钚钛钜钝钞钟钠钡钢钣钤钥钦钧钨钩钪钫钬钭钮钯钰钱钲钳钴钵钶钷钸钹钺钻钼钽钾钿铀铁铂铃铄铅铆铈铉铊铋铌铍铎铐铑铒铕铖铗铘铙铛铜铝铞铟铠铡铢铣铤铥铧铨铩铪铫铬铭铮铯铰铱铲铳铴铵银铷铸铹铺铼铽链铿销锁锂锃锄锅锆锇锈锉锊锋锌锍锎锏锐锑锒锓锔锕锖锗锘错锚锛锝锞锟锡锢锣锤锥锦锨锩锪锫锬锭键锯锰锱锲锴锵锶锷锸锹锺锻锼锾锿镀镁镂镄镅镆镇镉镊镌镍镎镏镐镑镒镓镔镖镗镘镙镛镜镝镞镟镡镢镣镤镥镦镧镨镩镪镫镬镭镯镰镱镲镳镶长门闩闪闫闭问闯闰闱闲辅辆辇辈辉辊辋辍辎辏辐辑输辔辕辖辗辘辙辚辛辜辞辟辣辨辩辫辰辱辶边辽达迁迂迄迅过迈迎运近迓返迕还这进远违连迟迢迤迥迦迨迩迪迫迭迮述迳迷迸迹追退送适逃逄逅逆选逊逋逍透逐逑递途逖逗通逛逝逞速造逡逢逦逭逮逯逵逶逸逻逼逾遁遂遄遇遍遏遐遑遒道遗遘遛遢遣遥遨遭遮遴遵遽避邀邂邃邈邋邑邓邕邗邙邛邝邡邢那邦邪邬邮邯邰邱邳邴邵邶邸邹邺邻邾郁郄郅郇郊郎郏郐郑郓郗郛郜郝郡郢郦郧部郫郭郯郴郸都郾鄂鄄鄙鄞鄢鄣鄯鄱鄹酃酆酉酊酋酌配酎酏酐酒酗酚酝酞酡酢酣酤酥酩酪酬酮酯酰酱酲酴酵酶酷酸酹酽酾酿醅醇醉醋醌醍醐醑醒醚醛醢醣醪醭醮醯醴醵谨谩谪谫谬谭谮谯谰谱谲谳谴谵谶谷豁豆豇豉豌豕豚象豢豪豫豳豸豹豺貂貅貉貊貌貔貘贝贞负贡财责贤败账货质贩贪贫贬购贮贯贰贱贲贳贴贵贶贷贸费贺贻贼贽贾贿赀赁赂赃资赅赆赇赈赉赊赋赌赍赎赏赐赓赔赕赖赘赙赚赛赜赝赞赠赡赢赣赤赦赧赫赭走赳赴赵赶起趁趄超越趋趑趔趟趣趱足趴趵趸趺趼趾趿跃跄跆跋跌跎跏跑跖跗跚跛距跞跟跣跤跨跪跫跬路跳践跷跸跹跺跻跽踅踉踊踌踏踔踝踞踟踢踣踩踪踬踮踯踱踵踹踺踽蹀蹁蹂蹄蹇蹈蹉蹊蹋蹑蹒蹙蹦蹩蹬蹭蹯蹰蹲蹴蹶蹼蹿躁躅躇躏躐躔躜躞身躬躯躲躺軎车轧轨轩轫转轭轮软轰轱轲轳轴轵轶轷轸轹轺轻轼载轾轿辁辂较辄衙衡衢衣衤补表衩衫衬衮衰衲衷衽衾衿袁袂袄袅袈袋袍袒袖袜袢袤被袭袱袷袼裁裂装裆裉裎裒裔裕裘裙裟裢裣裤裥裨裰裱裳裴裸裹裼裾褂褊褐褒褓褙褚褛褡褥褪褫褰褴褶襁襄襞襟襦襻西要覃覆见观规觅视觇览觉觊觋觌觎觏觐觑角觖觚觜觞解觥触觫觯觳言訇訾詈詹誉誊誓謇謦警譬讠计订讣认讥讦讧讨让讪讫训议讯记讲讳讴讵讶讷许讹论讼讽设访诀证诂诃评诅识诈诉诊诋诌词诎诏译诒诓诔试诖诗诘诙诚诛诜话诞诟诠诡询诣诤该详诧诨诩诫诬语诮误诰诱诲诳说诵诶请诸诹诺读诼诽课诿谀谁谂调谄谅谆谇谈谊谋谌谍谎谏谐谑谒谓谔谕谖谗谘谙谚谛谜谝谟谠谡谢谣谤谥谦谧蓍蓐蓑蓓蓖蓝蓟蓠蓣蓥蓦蓬蓰蓼蓿蔌蔑蔓蔗蔚蔟蔡蔫蔬蔷蔸蔹蔺蔻蔼蔽蕃蕈蕉蕊蕖蕙蕞蕤蕨蕲蕴蕹蕺蕻蕾薄薅薇薏薛薜薤薨薪薮薯薰薷薹藁藉藏藐藓藕藜藤藩藻藿蘅蘑蘖蘧蘩蘸蘼虍虎虏虐虑虔虚虞虢虫虬虮虱虹虺虻虼虽虾虿蚀蚁蚂蚊蚋蚌蚍蚓蚕蚜蚝蚣蚤蚧蚨蚩蚪蚬蚯蚰蚱蚴蚵蚶蚺蛀蛄蛆蛇蛉蛊蛋蛎蛏蛐蛑蛔蛘蛙蛛蛞蛟蛤蛩蛭蛮蛰蛱蛲蛳蛴蛸蛹蛾蜀蜂蜃蜇蜈蜉蜊蜍蜒蜓蜕蜗蜘蜚蜜蜞蜡蜢蜣蜥蜩蜮蜱蜴蜷蜻蜾蜿蝇蝈蝉蝌蝎蝓蝗蝙蝠蝣蝤蝥蝮蝰蝴蝶蝻蝼蝽蝾螂螃螅螈螋融螓螗螟螨螫螬螭螯螳螵螺螽蟀蟆蟊蟋蟑蟒蟓蟛蟠蟥蟪蟮蟹蟾蠃蠊蠓蠕蠖蠛蠡蠢蠲蠹蠼血衄衅行衍衔街芍芎芏芑芒芗芘芙芜芝芟芡芤芥芦芨芩芪芫芬芭芮芯芰花芳芴芷芸芹芽芾苁苄苇苈苊苋苌苍苎苏苑苒苓苔苕苗苘苛苜苞苟苠苡苣苤若苦苫苯英苴苷苹苻茁茂范茄茅茆茇茈茉茌茎茏茑茔茕茗茚茛茜茧茨茫茬茭茯茱茳茴茵茶茸茹茺茼荀荃荆荇草荏荐荑荒荔荚荛荜荞荟荠荡荣荤荥荦荧荨荩荪荫荬荭荮药荷荸荻荼荽莅莆莉莎莒莓莘莛莜莞莠莨莩莪莫莰莱莲莳莴莶获莸莹莺莼莽菀菁菅菇菊菌菏菔菖菘菜菝菟菠菡菥菩菪菰菱菲菸菹菽萁萃萄萆萋萌萍萎萏萑萘萜萝萤营萦萧萨萱萸萼落葆葑著葙葚葛葜葡董葩葫葬葭葱葳葵葶葸葺蒂蒇蒈蒉蒋蒌蒎蒗蒙蒜蒡蒯蒲蒴蒸蒹蒺蒽蒿蓁蓄蓉蓊耢耥耦耧耨耩耪耱耳耵耶耷耸耻耽耿聂聃聆聊聋职聍聒联聘聚聩聪聱聿肀肃肄肆肇肉肋肌肓肖肘肚肛肜肝肟肠股肢肤肥肩肪肫肭肮肯肱育肴肷肺肼肽肾肿胀胁胂胃胄胆背胍胎胖胗胙胚胛胜胝胞胡胤胥胧胨胩胪胫胬胭胯胰胱胲胳胴胶胸胺胼能脂脆脉脊脍脎脏脐脑脒脓脔脖脘脚脞脬脯脱脲脶脸脾腆腈腊腋腌腐腑腓腔腕腙腚腠腥腧腩腭腮腰腱腴腹腺腻腼腽腾腿膀膂膈膊膏膑膘膛膜膝膣膦膨膪膳膺膻臀臁臂臃臆臊臌臣臧自臬臭至致臻臼臾舀舁舂舄舅舆舌舍舐舒舔舛舜舞舟舡舢舣舨航舫般舭舯舰舱舳舴舵舶舷舸船舻舾艄艇艉艋艏艘艚艟艨艮良艰色艳艴艹艺艽艾艿节芄芈芊芋糕糖糗糙糜糟糠糨糯糸系紊素索紧紫累絮絷綦綮縻繁繇纂纛纟纠纡红纣纤纥约级纨纩纪纫纬纭纯纰纱纲纳纵纶纷纸纹纺纽纾线绀绁绂练组绅细织终绉绊绋绌绍绎经绐绑绒结绔绕绗绘给绚绛络绝绞统绠绡绢绣绥绦继绨绩绪绫续绮绯绰绱绲绳维绵绶绷绸绺绻综绽绾绿缀缁缂缃缄缅缆缇缈缉缋缌缍缎缏缑缒缓缔缕编缗缘缙缚缛缜缝缟缠缡缢缣缤缥缦缧缨缩缪缫缬缭缮缯缰缱缲缳缴缵缶缸缺罂罄罅罐网罔罕罗罘罚罟罡罢罨罩罪置罱署罴罹罾羁羊羌美羔羚羝羞羟羡群羧羯羰羲羸羹羼羽羿翁翅翊翌翎翔翕翘翟翠翡翥翦翩翮翰翱翳翻翼耀老考耄者耆耋而耍耐耒耔耕耖耗耘耙耜耠祺禀禁禄禅禊福禚禧禳禹禺离禽禾秀私秃秆秉秋种科秒秕秘租秣秤秦秧秩秫秭积称秸移秽稀稂稃稆程稍税稔稗稚稞稠稣稳稷稹稻稼稽稿穆穑穗穰穴究穷穸穹空穿窀突窃窄窆窈窍窑窒窕窖窗窘窜窝窟窠窥窦窨窬窭窳窿立竖站竞竟章竣童竦竭端竹竺竽竿笃笄笆笈笊笋笏笑笔笕笙笛笞笠笤笥符笨笪笫第笮笱笳笸笺笼笾筅筇等筋筌筏筐筑筒答策筘筚筛筝筠筢筮筱筲筵筷筹筻签简箅箍箐箔箕算箜箝管箢箦箧箨箩箪箫箬箭箱箴箸篁篆篇篌篑篓篙篚篝篡篥篦篪篮篱篷篼篾簇簋簌簏簖簟簦簧簪簸簿籀籁籍米籴类籼籽粉粑粒粕粗粘粜粝粞粟粢粤粥粪粮粱粲粳粹粼粽精糁糅糇糈糊糌糍皂的皆皇皈皋皎皑皓皖皙皤皮皱皲皴皿盂盅盆盈益盍盎盏盐监盒盔盖盗盘盛盟盥目盯盱盲直相盹盼盾省眄眇眈眉看眍眙眚真眠眢眦眨眩眭眯眵眶眷眸眺眼着睁睃睇睐睑睚睛睡睢督睥睦睨睫睬睹睽睾睿瞀瞄瞅瞌瞍瞎瞑瞒瞟瞠瞢瞥瞧瞩瞪瞬瞰瞳瞵瞻瞽瞿矍矗矛矜矢矣知矧矩矫矬短矮石矶矸矽矾矿砀码砂砉砌砍砑砒研砖砗砘砚砜砝砟砣砥砦砧砩砬砭砰破砷砸砹砺砻砼砾础硅硇硌硎硐硒硕硖硗硝硪硫硬硭确硷硼碇碉碌碍碎碑碓碗碘碚碛碜碟碡碣碥碧碰碱碲碳碴碹碾磁磅磉磊磋磐磔磕磙磨磬磲磴磷磺礁礅礓礞礤礴示礻礼社祀祁祆祈祉祓祖祗祚祛祜祝神祟祠祢祥祧票祭祯祷祸玑玖玛玟玢玩玫玮环现玲玳玷玺玻珀珂珈珉珊珍珏珐珑珙珞珠珥珧珩班珲球琅理琉琊琏琐琚琛琢琥琦琨琪琬琮琰琳琴琵琶琼瑁瑕瑗瑙瑚瑛瑜瑞瑟瑭瑰瑶瑷瑾璀璁璃璇璋璎璐璜璞璧璨璩璺瓒瓜瓞瓠瓢瓣瓤瓦瓮瓯瓴瓶瓷瓿甄甍甏甑甓甘甙甚甜生甥用甩甫甬甭甯田由甲申电男甸町画甾畀畅畈畋界畎畏畔留畚畛畜略畦番畲畴畸畹畿疃疆疋疏疑疒疔疖疗疙疚疝疟疠疡疣疤疥疫疬疮疯疰疱疲疳疴疵疸疹疼疽疾痂痃痄病症痈痉痊痍痒痔痕痖痘痛痞痢痣痤痦痧痨痪痫痰痱痴痹痼痿瘀瘁瘃瘅瘊瘌瘐瘕瘗瘘瘙瘛瘟瘠瘢瘤瘥瘦瘩瘪瘫瘭瘰瘳瘴瘵瘸瘼瘾瘿癀癃癌癍癔癖癜癞癣癫癯癸登白百濠濡濮濯瀑瀚瀛瀣瀵瀹灌灏灞火灬灭灯灰灵灶灸灼灾灿炀炅炉炊炎炒炔炕炖炙炜炝炫炬炭炮炯炱炳炷炸点炻炼炽烀烁烂烃烈烊烘烙烛烟烤烦烧烨烩烫烬热烯烷烹烽焉焊焐焓焕焖焘焙焚焦焯焰焱然煅煊煌煎煜煞煤煦照煨煮煲煳煸煺煽熄熊熏熔熘熙熟熠熨熬熳熵熹燃燎燔燕燠燥燧燮燹爆爝爨爪爬爰爱爵父爷爸爹爻爽爿片版牌牍牒牖牙牛牝牟牡牢牦牧物牮牯牲牵特牺牾牿犀犁犄犊犋犍犏犒犟犬犭犯犰犴状犷犸犹狁狂狃狄狈狍狎狐狒狗狙狞狠狡狨狩独狭狮狯狰狱狲狳狴狷狸狺狻狼猁猃猊猎猓猕猖猗猛猜猝猞猡猢猥猩猪猫猬献猱猴猷猸猹猾猿獍獐獒獗獠獬獭獯獾玄率玉王玎泽泾洁洄洇洋洌洎洒洗洙洚洛洞津洧洪洫洮洱洲洳洵洹活洼洽派流浃浅浆浇浈浊测浍济浏浑浒浓浔浙浚浜浞浠浣浦浩浪浮浯浴海浸浼涂涅消涉涌涎涑涓涔涕涛涝涞涟涠涡涣涤润涧涨涩涪涫涮涯液涵涸涿淀淄淅淆淇淋淌淑淖淘淙淝淞淠淡淤淦淫淬淮深淳混淹添淼清渊渌渍渎渐渑渔渖渗渚渝渠渡渣渤渥温渫渭港渲渴游渺湃湄湍湎湓湔湖湘湛湟湫湮湾湿溃溅溆溉溏源溘溜溟溢溥溧溪溯溱溲溴溶溷溺溻溽滁滂滇滋滏滑滓滔滕滗滚滞滟滠满滢滤滥滦滨滩滴滹漂漆漉漏漓演漕漠漤漩漪漫漭漯漱漳漶漾潆潇潋潍潘潜潞潢潦潭潮潲潴潸潺潼澄澈澉澌澍澎澜澡澧澳澶澹激濂濉濑濒濞⺀ ⺁ ⺂ ⺃ ⺄ ⺅ ⺆ ⺇ ⺈ ⺉ ⺊ ⺋ ⺌ ⺍ ⺎ ⺏ ⺐ ⺑ ⺒ ⺓ ⺔ ⺕ ⺖ ⺗ ⺘ ⺙ ⺛ ⺜ ⺝ ⺞ ⺟ ⺠ ⺡ ⺢ ⺣ ⺤ ⺥ ⺦ ⺧ ⺨ ⺩ ⺪ ⺫ ⺬ ⺭ ⺮ ⺯ ⺰ ⺱ ⺲ ⺳ ⺴ ⺵ ⺶ ⺷ ⺸ ⺹ ⺺ ⺻ ⺼ ⺽ ⺾ ⺿ ⻀ ⻁ ⻂ ⻃ ⻄ ⻅ ⻆ ⻇ ⻈ ⻉ ⻊ ⻋ ⻌ ⻍ ⻎ ⻏ ⻐ ⻑ ⻒ ⻓ ⻔ ⻕ ⻖ ⻗ ⻘ ⻙ ⻚ ⻛ ⻜ ⻝ ⻞ ⻟ ⻠ ⻡ ⻢ ⻣ ⻤ ⻥ ⻦ ⻧ ⻨ ⻩ ⻪ ⻫ ⻬ ⻭ ⻮ ⻯ ⻰ ⻱ ⻲ ⻳ ⼀ ⼁ ⼂ ⼃ ⼄ ⼅ ⼆ ⼇ ⼈ ⼉ ⼊ ⼋ ⼌ ⼍ ⼎ ⼏ ⼐ ⼑ ⼒ ⼓ ⼔ ⼕ ⼖ ⼗ ⼘ ⼙ ⼚ ⼛ ⼜ ⼝ ⼞ ⼟ ⼠ ⼡ ⼢ ⼣ ⼤ ⼥ ⼦ ⼧ ⼨ ⼩ ⼪ ⼫ ⼬ ⼭ ⼮ ⼯ ⼰ ⼱ ⼲ ⼳ ⼴ ⼵ ⼶ ⼷ ⼸ ⼹ ⼺ ⼻ ⼼ ⼽ ⼾ ⼿ ⽀ ⽁ ⽂ ⽃ ⽄ ⽅ ⽆ ⽇ ⽈ ⽉ ⽊ ⽋ ⽌ ⽍ ⽎ ⽏ ⽐ ⽑ ⽒ ⽓ ⽔ ⽕ ⽖ ⽗ ⽘ ⽙ ⽚ ⽛ ⽜ ⽝ ⽞ ⽟ ⽠ ⽡ ⽢ ⽣ ⽤ ⽥ ⽦ ⽧ ⽨ ⽩ ⽪ ⽫ ⽬ ⽭ ⽮ ⽯ ⽰ ⽱ ⽲ ⽳ ⽴ ⽵ ⽶ ⽷ ⽸ ⽹ ⽺ ⽻ ⽼ ⽽ ⽾ ⽿ ⾀ ⾁ ⾂ ⾃ ⾄ ⾅ ⾆ ⾇ ⾈ ⾉ ⾊ ⾋ ⾌ ⾍ ⾎ ⾏ ⾐ ⾑ ⾒ ⾓ ⾔ ⾕ ⾖ ⾗ ⾘ ⾙ ⾚ ⾛ ⾜ ⾝ ⾞ ⾟ ⾠ ⾡ ⾢ ⾣ ⾤ ⾥ ⾦ ⾧ ⾨ ⾩ ⾪ ⾫ ⾬ ⾭ ⾮ ⾯ ⾰ ⾱ ⾲ ⾳ ⾴ ⾵ ⾶ ⾷ ⾸ ⾹ ⾺ ⾻ ⾼ ⾽ ⾾ ⾿ ⿀ ⿁ ⿂ ⿃ ⿄ ⿅ ⿆ ⿇ ⿈ ⿉ ⿊ ⿋ ⿌ ⿍ ⿎ ⿏ ⿐ ⿑ ⿒ ⿓ ⿔ ⿕ 〡 〢 〣 〤 〥 〦 〧 〨 〩 〷 〸 〹 〺 ㆐ ㆑ ㆒ ㆓ ㆔ ㆕ ㆖ ㆗ ㆘ ㆙ ㆚ ㆛ ㆜ ㆝ ㆞ ㆟ ㆠ ㆡ ㆢ ㆣ ㆤ ㆥ ㆦ ㆧ ㆨ ㆩ ㆪ ㆫ ㆬ ㆭ ㆮ ㆯ ㆰ ㆱ ㆲ ㆳ ㆴ ㆵ ㆶ ㆷ ㆸ ㆹ ㆺ ㆻ ㆼ ㆽ ㆾ ㆿ ㇀ ㇁ ㇂ ㇃ ㇄ ㇅ ㇆ ㇇ ㇈ ㇉ ㇊ ㇋ ㇌ ㇍ ㇎ ㇏ ㇐ ㇑ ㇒ ㇓ ㇔ ㇕ ㇖ ㇗ ㇘ ㇙ ㇚ ㇛ ㇜ ㇝ ㇞ ㇟ ㇠ ㇡ ㇢ ㇣ 㐀 㐁 㐂 㐃 㐄 㐅 㐆 㐇 㐈 㐉 㐊 㐋 㐌 㐍 㐎 㐏 㐐 㐑 㐒 㐓 㐔 㐕 㐖 㐗 㐘 㐙 㐚 㐛 㐜 㐝 㐞 㐟 㐠 㐡 㐢 㐣 㐤 㐥 㐦 㐧 㐨 㐩 㐪 㐫 㐬 㐭 㐮 㐯 㐰 㐱 㐲 㐳 㐴 㐵 㐶 㐷 㐸 㐹 㐺 㐻 㐼 㐽 㐾 㐿 㑀 㑁 㑂 㑃 㑄 㑅 㑆 㑇 㑈 㑉 㑊 㑋 㑌 㑍 㑎 㑏 㑐 㑑 㑒 㑓 㑔 㑕 㑖 㑗 㑘 㑙 㑚 㑛 㑜 㑝 㑞 㑟 㑠 㑡 㑢 㑣 㑤 㑥 㑦 㑧 㑨 㑩 㑪 㑫 㑬 㑭 㑮 㑯 㑰 㑱 㑲 㑳 㑴 㑵 㑶 㑷 㑸 㑹 㑺 㑻 㑼 㑽 㑾 㑿 㒀 㒁 㒂 㒃 㒄 㒅 㒆 㒇 㒈 㒉 㒊 㒋 㒌 㒍 㒎 㒏 㒐 㒑 㒒 㒓 㒔 㒕 㒖 㒗 㒘 㒙 㒚 㒛 㒜 㒝 㒞 㒟 㒠 㒡 㒢 㒣 㒤 㒥 㒦 㒧 㒨 㒩 㒪 㒫 㒬 㒭 㒮 㒯 㒰 㒱 㒲 㒳 㒴 㒵 㒶 㒷 㒸 㒹 㒺 㒻 㒼 㒽 㒾 㒿 㓀 㓁 㓂 㓃 㓄 㓅 㓆 㓇 㓈 㓉 㓊 㓋 㓌 㓍 㓎 㓏 㓐 㓑 㓒 㓓 㓔 㓕 㓖 㓗 㓘 㓙 㓚 㓛 㓜 㓝 㓞 㓟 㓠 㓡 㓢 㓣 㓤 㓥 㓦 㓧 㓨 㓩 㓪 㓫 㓬 㓭 㓮 㓯 㓰 㓱 㓲 㓳 㓴 㓵 㓶 㓷 㓸 㓹 㓺 㓻 㓼 㓽 㓾 㓿 㔀 㔁 㔂 㔃 㔄 㔅 㔆 㔇 㔈 㔉 㔊 㔋 㔌 㔍 㔎 㔏 㔐 㔑 㔒 㔓 㔔 㔕 㔖 㔗 㔘 㔙 㔚 㔛 㔜 㔝 㔞 㔟 㔠 㔡 㔢 㔣 㔤 㔥 㔦 㔧 㔨 㔩 㔪 㔫 㔬 㔭 㔮 㔯 㔰 㔱 㔲 㔳 㔴 㔵 㔶 㔷 㔸 㔹 㔺 㔻 㔼 㔽 㔾 㔿 㕀 㕁 㕂 㕃 㕄 㕅 㕆 㕇 㕈 㕉 㕊 㕋 㕌 㕍 㕎 㕏 㕐 㕑 㕒 㕓 㕔 㕕 㕖 㕗 㕘 㕙 㕚 㕛 㕜 㕝 㕞 㕟 㕠 㕡 㕢 㕣 㕤 㕥 㕦 㕧 㕨 㕩 㕪 㕫 㕬 㕭 㕮 㕯 㕰 㕱 㕲 㕳 㕴 㕵 㕶 㕷 㕸 㕹 㕺 㕻 㕼 㕽 㕾 㕿 㖀 㖁 㖂 㖃 㖄 㖅 㖆 㖇 㖈 㖉 㖊 㖋 㖌 㖍 㖎 㖏 㖐 㖑 㖒 㖓 㖔 㖕 㖖 㖗 㖘 㖙 㖚 㖛 㖜 㖝 㖞 㖟 㖠 㖡 㖢 㖣 㖤 㖥 㖦 㖧 㖨 㖩 㖪 㖫 㖬 㖭 㖮 㖯 㖰 㖱 㖲 㖳 㖴 㖵 㖶 㖷 㖸 㖹 㖺 㖻 㖼 㖽 㖾 㖿 㗀 㗁 㗂 㗃 㗄 㗅 㗆 㗇 㗈 㗉 㗊 㗋 㗌 㗍 㗎 㗏 㗐 㗑 㗒 㗓 㗔 㗕 㗖 㗗 㗘 㗙 㗚 㗛 㗜 㗝 㗞 㗟 㗠 㗡 㗢 㗣 㗤 㗥 㗦 㗧 㗨 㗩 㗪 㗫 㗬 㗭 㗮 㗯 㗰 㗱 㗲 㗳 㗴 㗵 㗶 㗷 㗸 㗹 㗺 㗻 㗼 㗽 㗾 㗿 㘀 㘁 㘂 㘃 㘄 㘅 㘆 㘇 㘈 㘉 㘊 㘋 㘌 㘍 㘎 㘏 㘐 㘑 㘒 㘓 㘔 㘕 㘖 㘗 㘘 㘙 㘚 㘛 㘜 㘝 㘞 㘟 㘠 㘡 㘢 㘣 㘤 㘥 㘦 㘧 㘨 㘩 㘪 㘫 㘬 㘭 㘮 㘯 㘰 㘱 㘲 㘳 㘴 㘵 㘶 㘷 㘸 㘹 㘺 㘻 㘼 㘽 㘾 㘿 㙀 㙁 㙂 㙃 㙄 㙅 㙆 㙇 㙈 㙉 㙊 㙋 㙌 㙍 㙎 㙏 㙐 㙑 㙒 㙓 㙔 㙕 㙖 㙗 㙘 㙙 㙚 㙛 㙜 㙝 㙞 㙟 㙠 㙡 㙢 㙣 㙤 㙥 㙦 㙧 㙨 㙩 㙪 㙫 㙬 㙭 㙮 㙯 㙰 㙱 㙲 㙳 㙴 㙵 㙶 㙷 㙸 㙹 㙺 㙻 㙼 㙽 㙾 㙿 㚀 㚁 㚂 㚃 㚄 㚅 㚆 㚇 㚈 㚉 㚊 㚋 㚌 㚍 㚎 㚏 㚐 㚑 㚒 㚓 㚔 㚕 㚖 㚗 㚘 㚙 㚚 㚛 㚜 㚝 㚞 㚟 㚠 㚡 㚢 㚣 㚤 㚥 㚦 㚧 㚨 㚩 㚪 㚫 㚬 㚭 㚮 㚯 㚰 㚱 㚲 㚳 㚴 㚵 㚶 㚷 㚸 㚹 㚺 㚻 㚼 㚽 㚾 㚿 㛀 㛁 㛂 㛃 㛄 㛅 㛆 㛇 㛈 㛉 㛊 㛋 㛌 㛍 㛎 㛏 㛐 㛑 㛒 㛓 㛔 㛕 㛖 㛗 㛘 㛙 㛚 㛛 㛜 㛝 㛞 㛟 㛠 㛡 㛢 㛣 㛤 㛥 㛦 㛧 㛨 㛩 㛪 㛫 㛬 㛭 㛮 㛯 㛰 㛱 㛲 㛳 㛴 㛵 㛶 㛷 㛸 㛹 㛺 㛻 㛼 㛽 㛾 㛿 㜀 㜁 㜂 㜃 㜄 㜅 㜆 㜇 㜈 㜉 㜊 㜋 㜌 㜍 㜎 㜏 㜐 㜑 㜒 㜓 㜔 㜕 㜖 㜗 㜘 㜙 㜚 㜛 㜜 㜝 㜞 㜟 㜠 㜡 㜢 㜣 㜤 㜥 㜦 㜧 㜨 㜩 㜪 㜫 㜬 㜭 㜮 㜯 㜰 㜱 㜲 㜳 㜴 㜵 㜶 㜷 㜸 㜹 㜺 㜻 㜼 㜽 㜾 㜿 㝀 㝁 㝂 㝃 㝄 㝅 㝆 㝇 㝈 㝉 㝊 㝋 㝌 㝍 㝎 㝏 㝐 㝑 㝒 㝓 㝔 㝕 㝖 㝗 㝘 㝙 㝚 㝛 㝜 㝝 㝞 㝟 㝠 㝡 㝢 㝣 㝤 㝥 㝦 㝧 㝨 㝩 㝪 㝫 㝬 㝭 㝮 㝯 㝰 㝱 㝲 㝳 㝴 㝵 㝶 㝷 㝸 㝹 㝺 㝻 㝼 㝽 㝾 㝿 㞀 㞁 㞂 㞃 㞄 㞅 㞆 㞇 㞈 㞉 㞊 㞋 㞌 㞍 㞎 㞏 㞐 㞑 㞒 㞓 㞔 㞕 㞖 㞗 㞘 㞙 㞚 㞛 㞜 㞝 㞞 㞟 㞠 㞡 㞢 㞣 㞤 㞥 㞦 㞧 㞨 㞩 㞪 㞫 㞬 㞭 㞮 㞯 㞰 㞱 㞲 㞳 㞴 㞵 㞶 㞷 㞸 㞹 㞺 㞻 㞼 㞽 㞾 㞿 㟀 㟁 㟂 㟃 㟄 㟅 㟆 㟇 㟈 㟉 㟊 㟋 㟌 㟍 㟎 㟏 㟐 㟑 㟒 㟓 㟔 㟕 㟖 㟗 㟘 㟙 㟚 㟛 㟜 㟝 㟞 㟟 㟠 㟡 㟢 㟣 㟤 㟥 㟦 㟧 㟨 㟩 㟪 㟫 㟬 㟭 㟮 㟯 㟰 㟱 㟲 㟳 㟴 㟵 㟶 㟷 㟸 㟹 㟺 㟻 㟼 㟽 㟾 㟿 㠀 㠁 㠂 㠃 㠄 㠅 㠆 㠇 㠈 㠉 㠊 㠋 㠌 㠍 㠎 㠏 㠐 㠑 㠒 㠓 㠔 㠕 㠖 㠗 㠘 㠙 㠚 㠛 㠜 㠝 㠞 㠟 㠠 㠡 㠢 㠣 㠤 㠥 㠦 㠧 㠨 㠩 㠪 㠫 㠬 㠭 㠮 㠯 㠰 㠱 㠲 㠳 㠴 㠵 㠶 㠷 㠸 㠹 㠺 㠻 㠼 㠽 㠾 㠿 㡀 㡁 㡂 㡃 㡄 㡅 㡆 㡇 㡈 㡉 㡊 㡋 㡌 㡍 㡎 㡏 㡐 㡑 㡒 㡓 㡔 㡕 㡖 㡗 㡘 㡙 㡚 㡛 㡜 㡝 㡞 㡟 㡠 㡡 㡢 㡣 㡤 㡥 㡦 㡧 㡨 㡩 㡪 㡫 㡬 㡭 㡮 㡯 㡰 㡱 㡲 㡳 㡴 㡵 㡶 㡷 㡸 㡹 㡺 㡻 㡼 㡽 㡾 㡿 㢀 㢁 㢂 㢃 㢄 㢅 㢆 㢇 㢈 㢉 㢊 㢋 㢌 㢍 㢎 㢏 㢐 㢑 㢒 㢓 㢔 㢕 㢖 㢗 㢘 㢙 㢚 㢛 㢜 㢝 㢞 㢟 㢠 㢡 㢢 㢣 㢤 㢥 㢦 㢧 㢨 㢩 㢪 㢫 㢬 㢭 㢮 㢯 㢰 㢱 㢲 㢳 㢴 㢵 㢶 㢷 㢸 㢹 㢺 㢻 㢼 㢽 㢾 㢿 㣀 㣁 㣂 㣃 㣄 㣅 㣆 㣇 㣈 㣉 㣊 㣋 㣌 㣍 㣎 㣏 㣐 㣑 㣒 㣓 㣔 㣕 㣖 㣗 㣘 㣙 㣚 㣛 㣜 㣝 㣞 㣟 㣠 㣡 㣢 㣣 㣤 㣥 㣦 㣧 㣨 㣩 㣪 㣫 㣬 㣭 㣮 㣯 㣰 㣱 㣲 㣳 㣴 㣵 㣶 㣷 㣸 㣹 㣺 㣻 㣼 㣽 㣾 㣿 㤀 㤁 㤂 㤃 㤄 㤅 㤆 㤇 㤈 㤉 㤊 㤋 㤌 㤍 㤎 㤏 㤐 㤑 㤒 㤓 㤔 㤕 㤖 㤗 㤘 㤙 㤚 㤛 㤜 㤝 㤞 㤟 㤠 㤡 㤢 㤣 㤤 㤥 㤦 㤧 㤨 㤩 㤪 㤫 㤬 㤭 㤮 㤯 㤰 㤱 㤲 㤳 㤴 㤵 㤶 㤷 㤸 㤹 㤺 㤻 㤼 㤽 㤾 㤿 㥀 㥁 㥂 㥃 㥄 㥅 㥆 㥇 㥈 㥉 㥊 㥋 㥌 㥍 㥎 㥏 㥐 㥑 㥒 㥓 㥔 㥕 㥖 㥗 㥘 㥙 㥚 㥛 㥜 㥝 㥞 㥟 㥠 㥡 㥢 㥣 㥤 㥥 㥦 㥧 㥨 㥩 㥪 㥫 㥬 㥭 㥮 㥯 㥰 㥱 㥲 㥳 㥴 㥵 㥶 㥷 㥸 㥹 㥺 㥻 㥼 㥽 㥾 㥿 㦀 㦁 㦂 㦃 㦄 㦅 㦆 㦇 㦈 㦉 㦊 㦋 㦌 㦍 㦎 㦏 㦐 㦑 㦒 㦓 㦔 㦕 㦖 㦗 㦘 㦙 㦚 㦛 㦜 㦝 㦞 㦟 㦠 㦡 㦢 㦣 㦤 㦥 㦦 㦧 㦨 㦩 㦪 㦫 㦬 㦭 㦮 㦯 㦰 㦱 㦲 㦳 㦴 㦵 㦶 㦷 㦸 㦹 㦺 㦻 㦼 㦽 㦾 㦿 㧀 㧁 㧂 㧃 㧄 㧅 㧆 㧇 㧈 㧉 㧊 㧋 㧌 㧍 㧎 㧏 㧐 㧑 㧒 㧓 㧔 㧕 㧖 㧗 㧘 㧙 㧚 㧛 㧜 㧝 㧞 㧟 㧠 㧡 㧢 㧣 㧤 㧥 㧦 㧧 㧨 㧩 㧪 㧫 㧬 㧭 㧮 㧯 㧰 㧱 㧲 㧳 㧴 㧵 㧶 㧷 㧸 㧹 㧺 㧻 㧼 㧽 㧾 㧿 㨀 㨁 㨂 㨃 㨄 㨅 㨆 㨇 㨈 㨉 㨊 㨋 㨌 㨍 㨎 㨏 㨐 㨑 㨒 㨓 㨔 㨕 㨖 㨗 㨘 㨙 㨚 㨛 㨜 㨝 㨞 㨟 㨠 㨡 㨢 㨣 㨤 㨥 㨦 㨧 㨨 㨩 㨪 㨫 㨬 㨭 㨮 㨯 㨰 㨱 㨲 㨳 㨴 㨵 㨶 㨷 㨸 㨹 㨺 㨻 㨼 㨽 㨾 㨿 㩀 㩁 㩂 㩃 㩄 㩅 㩆 㩇 㩈 㩉 㩊 㩋 㩌 㩍 㩎 㩏 㩐 㩑 㩒 㩓 㩔 㩕 㩖 㩗 㩘 㩙 㩚 㩛 㩜 㩝 㩞 㩟 㩠 㩡 㩢 㩣 㩤 㩥 㩦 㩧 㩨 㩩 㩪 㩫 㩬 㩭 㩮 㩯 㩰 㩱 㩲 㩳 㩴 㩵 㩶 㩷 㩸 㩹 㩺 㩻 㩼 㩽 㩾 㩿 㪀 㪁 㪂 㪃 㪄 㪅 㪆 㪇 㪈 㪉 㪊 㪋 㪌 㪍 㪎 㪏 㪐 㪑 㪒 㪓 㪔 㪕 㪖 㪗 㪘 㪙 㪚 㪛 㪜 㪝 㪞 㪟 㪠 㪡 㪢 㪣 㪤 㪥 㪦 㪧 㪨 㪩 㪪 㪫 㪬 㪭 㪮 㪯 㪰 㪱 㪲 㪳 㪴 㪵 㪶 㪷 㪸 㪹 㪺 㪻 㪼 㪽 㪾 㪿 㫀 㫁 㫂 㫃 㫄 㫅 㫆 㫇 㫈 㫉 㫊 㫋 㫌 㫍 㫎 㫏 㫐 㫑 㫒 㫓 㫔 㫕 㫖 㫗 㫘 㫙 㫚 㫛 㫜 㫝 㫞 㫟 㫠 㫡 㫢 㫣 㫤 㫥 㫦 㫧 㫨 㫩 㫪 㫫 㫬 㫭 㫮 㫯 㫰 㫱 㫲 㫳 㫴 㫵 㫶 㫷 㫸 㫹 㫺 㫻 㫼 㫽 㫾 㫿 㬀 㬁 㬂 㬃 㬄 㬅 㬆 㬇 㬈 㬉 㬊 㬋 㬌 㬍 㬎 㬏 㬐 㬑 㬒 㬓 㬔 㬕 㬖 㬗 㬘 㬙 㬚 㬛 㬜 㬝 㬞 㬟 㬠 㬡 㬢 㬣 㬤 㬥 㬦 㬧 㬨 㬩 㬪 㬫 㬬 㬭 㬮 㬯 㬰 㬱 㬲 㬳 㬴 㬵 㬶 㬷 㬸 㬹 㬺 㬻 㬼 㬽 㬾 㬿 㭀 㭁 㭂 㭃 㭄 㭅 㭆 㭇 㭈 㭉 㭊 㭋 㭌 㭍 㭎 㭏 㭐 㭑 㭒 㭓 㭔 㭕 㭖 㭗 㭘 㭙 㭚 㭛 㭜 㭝 㭞 㭟 㭠 㭡 㭢 㭣 㭤 㭥 㭦 㭧 㭨 㭩 㭪 㭫 㭬 㭭 㭮 㭯 㭰 㭱 㭲 㭳 㭴 㭵 㭶 㭷 㭸 㭹 㭺 㭻 㭼 㭽 㭾 㭿 㮀 㮁 㮂 㮃 㮄 㮅 㮆 㮇 㮈 㮉 㮊 㮋 㮌 㮍 㮎 㮏 㮐 㮑 㮒 㮓 㮔 㮕 㮖 㮗 㮘 㮙 㮚 㮛 㮜 㮝 㮞 㮟 㮠 㮡 㮢 㮣 㮤 㮥 㮦 㮧 㮨 㮩 㮪 㮫 㮬 㮭 㮮 㮯 㮰 㮱 㮲 㮳 㮴 㮵 㮶 㮷 㮸 㮹 㮺 㮻 㮼 㮽 㮾 㮿 㯀 㯁 㯂 㯃 㯄 㯅 㯆 㯇 㯈 㯉 㯊 㯋 㯌 㯍 㯎 㯏 㯐 㯑 㯒 㯓 㯔 㯕 㯖 㯗 㯘 㯙 㯚 㯛 㯜 㯝 㯞 㯟 㯠 㯡 㯢 㯣 㯤 㯥 㯦 㯧 㯨 㯩 㯪 㯫 㯬 㯭 㯮 㯯 㯰 㯱 㯲 㯳 㯴 㯵 㯶 㯷 㯸 㯹 㯺 㯻 㯼 㯽 㯾 㯿 㰀 㰁 㰂 㰃 㰄 㰅 㰆 㰇 㰈 㰉 㰊 㰋 㰌 㰍 㰎 㰏 㰐 㰑 㰒 㰓 㰔 㰕 㰖 㰗 㰘 㰙 㰚 㰛 㰜 㰝 㰞 㰟 㰠 㰡 㰢 㰣 㰤 㰥 㰦 㰧 㰨 㰩 㰪 㰫 㰬 㰭 㰮 㰯 㰰 㰱 㰲 㰳 㰴 㰵 㰶 㰷 㰸 㰹 㰺 㰻 㰼 㰽 㰾 㰿 㱀 㱁 㱂 㱃 㱄 㱅 㱆 㱇 㱈 㱉 㱊 㱋 㱌 㱍 㱎 㱏 㱐 㱑 㱒 㱓 㱔 㱕 㱖 㱗 㱘 㱙 㱚 㱛 㱜 㱝 㱞 㱟 㱠 㱡 㱢 㱣 㱤 㱥 㱦 㱧 㱨 㱩 㱪 㱫 㱬 㱭 㱮 㱯 㱰 㱱 㱲 㱳 㱴 㱵 㱶 㱷 㱸 㱹 㱺 㱻 㱼 㱽 㱾 㱿 㲀 㲁 㲂 㲃 㲄 㲅 㲆 㲇 㲈 㲉 㲊 㲋 㲌 㲍 㲎 㲏 㲐 㲑 㲒 㲓 㲔 㲕 㲖 㲗 㲘 㲙 㲚 㲛 㲜 㲝 㲞 㲟 㲠 㲡 㲢 㲣 㲤 㲥 㲦 㲧 㲨 㲩 㲪 㲫 㲬 㲭 㲮 㲯 㲰 㲱 㲲 㲳 㲴 㲵 㲶 㲷 㲸 㲹 㲺 㲻 㲼 㲽 㲾 㲿 㳀 㳁 㳂 㳃 㳄 㳅 㳆 㳇 㳈 㳉 㳊 㳋 㳌 㳍 㳎 㳏 㳐 㳑 㳒 㳓 㳔 㳕 㳖 㳗 㳘 㳙 㳚 㳛 㳜 㳝 㳞 㳟 㳠 㳡 㳢 㳣 㳤 㳥 㳦 㳧 㳨 㳩 㳪 㳫 㳬 㳭 㳮 㳯 㳰 㳱 㳲 㳳 㳴 㳵 㳶 㳷 㳸 㳹 㳺 㳻 㳼 㳽 㳾 㳿 㴀 㴁 㴂 㴃 㴄 㴅 㴆 㴇 㴈 㴉 㴊 㴋 㴌 㴍 㴎 㴏 㴐 㴑 㴒 㴓 㴔 㴕 㴖 㴗 㴘 㴙 㴚 㴛 㴜 㴝 㴞 㴟 㴠 㴡 㴢 㴣 㴤 㴥 㴦 㴧 㴨 㴩 㴪 㴫 㴬 㴭 㴮 㴯 㴰 㴱 㴲 㴳 㴴 㴵 㴶 㴷 㴸 㴹 㴺 㴻 㴼 㴽 㴾 㴿 㵀 㵁 㵂 㵃 㵄 㵅 㵆 㵇 㵈 㵉 㵊 㵋 㵌 㵍 㵎 㵏 㵐 㵑 㵒 㵓 㵔 㵕 㵖 㵗 㵘 㵙 㵚 㵛 㵜 㵝 㵞 㵟 㵠 㵡 㵢 㵣 㵤 㵥 㵦 㵧 㵨 㵩 㵪 㵫 㵬 㵭 㵮 㵯 㵰 㵱 㵲 㵳 㵴 㵵 㵶 㵷 㵸 㵹 㵺 㵻 㵼 㵽 㵾 㵿 㶀 㶁 㶂 㶃 㶄 㶅 㶆 㶇 㶈 㶉 㶊 㶋 㶌 㶍 㶎 㶏 㶐 㶑 㶒 㶓 㶔 㶕 㶖 㶗 㶘 㶙 㶚 㶛 㶜 㶝 㶞 㶟 㶠 㶡 㶢 㶣 㶤 㶥 㶦 㶧 㶨 㶩 㶪 㶫 㶬 㶭 㶮 㶯 㶰 㶱 㶲 㶳 㶴 㶵 㶶 㶷 㶸 㶹 㶺 㶻 㶼 㶽 㶾 㶿 㷀 㷁 㷂 㷃 㷄 㷅 㷆 㷇 㷈 㷉 㷊 㷋 㷌 㷍 㷎 㷏 㷐 㷑 㷒 㷓 㷔 㷕 㷖 㷗 㷘 㷙 㷚 㷛 㷜 㷝 㷞 㷟 㷠 㷡 㷢 㷣 㷤 㷥 㷦 㷧 㷨 㷩 㷪 㷫 㷬 㷭 㷮 㷯 㷰 㷱 㷲 㷳 㷴 㷵 㷶 㷷 㷸 㷹 㷺 㷻 㷼 㷽 㷾 㷿 㸀 㸁 㸂 㸃 㸄 㸅 㸆 㸇 㸈 㸉 㸊 㸋 㸌 㸍 㸎 㸏 㸐 㸑 㸒 㸓 㸔 㸕 㸖 㸗 㸘 㸙 㸚 㸛 㸜 㸝 㸞 㸟 㸠 㸡 㸢 㸣 㸤 㸥 㸦 㸧 㸨 㸩 㸪 㸫 㸬 㸭 㸮 㸯 㸰 㸱 㸲 㸳 㸴 㸵 㸶 㸷 㸸

 

 

2. 폰트 파일 통합

위 과정을 통해 경량화된 한국어와 중국어 파일을 얻었다.
이제 이 파일을 Font lab에서 열어 아까 세팅해둔 SC에 글자들을 복붙한다. 한번에 붙여 넣으면 프로그램이 힘들어하니 나눠서 붙이자.
주의해야 할 점은 다른 글자 위에 덮어쓰이지 않게 맨 끝 지점에 넣도록 하자. 눈으로 보면서 사용하지 않을 특수문자는 지워도 무방하다. (〠 이런 특수문자는 때려죽어도 잘 안쓰지 않을까...) 다만 보다보면 똑같은 부호나 알파벳이 많다고 느낄 수 있는데, 같은 부호라도 언어권에 따라 다른 유니코드를 사용하기 때문에 섣부르게 제거하면 안된다.



 

3. 글리프 맞추기

각 영어 알파벳, 필수적인 부호, 그리고 스페인어 등의 글리프를 Noto Sans SC와 맞추었다.
Noto Sans SC의 글리프를 붙여넣고 사이즈와 위치를 맞추는 정도로 진행했다. 조정할 때 자간이 틀어지는 경우도 있으니 주의하자. 때에 따라서 자간, 행간도 만져야 할 수도 있다. 

 

 

 

용량 체크

폰트를 경량화하였지만 여전히 폰트 용량은 만만치 않았다.
Regular.otf로 보자면 7.7MB로 오리지널 SC보다 0.8MB 작아지긴 했지만, 웹에서 불러오거나, 앱에 임베딩 하기엔 여전히 부담스러운 용량인 것도 사실이다. 그래서 마지막 수단으로 생각했던 파일 쪼개기를 한번 더 진행해야 했다.
디자인 단에서는 효율적인 스타일 관리를 위해 하나의 폰트 파일 그대로 사용하며, 개발단에서는 언어별로 쪼개진 파일을 사용하도록 말이다.

English + Spanish : 160KB
English + Korean : 414KB
English + Chinese : 7.3MB


오리지널 폰트 파일과 비교하면 Noto Sans와는 1/4, KR에서는 1/10 정도, SC에서는 0.8MB 정도 경량화되었다. (웹용 폰트로 변환하면 더 용량을 줄어든다.)

 

 

결과

Custom Font_Regular.otf
Custom Font_Medium.otf
Custom Font_Bold.otf


폰트 세트 하나를 완성했다.

Noto Sans를 기반으로 영어, 스페인어 (=베트남어) 한글, 중국어를 지원하며 3개의 font weight를 가진 폰트다.

폰트의 글리프도 더 미려하게 혹은 브랜드에 맞게 디벨롭했다면 좋았겠지만 이번 턴에서는 기능적인 면에 초점을 맞추어 진행했다. 개발에서 폰트를 쪼개어 사용하는 것은 아쉽지만 지원하는 언어가 워낙 무거워서 감안해야 할 듯하다. 그래도 디자인단에서 효율적인 스타일 관리가 가능하고 동일한 비주얼을 유지할 수 있다는 점에서는 영양가가 있는 것 같다.
감사하게도 사내의 앱 개발자분께서 폰트가 임베딩 된 테스팅 앱을 제작해주시기도 했다. 앱에서 문자를 입력해보니 깨지는 문자 없이 잘 입력되었고, 피그마에서도 아직까지 큰 문제는 없어 보인다. 현재 새로 개발되는 앱에 임베딩 될 테니 조금 더 지켜볼 예정이다.

개발자 없이 커스텀을 하다보니 약간 우왕좌왕하면서 아쉬운 부분이 있었다. 일단 시간 효율이 제일 아쉬웠고, 부족한 Unicode 지식으로 제거할 수 있는 글자들에 대한 판단이 어려운 것들도 많았다. 또 코드로 글자를 걷어낼 때 hint 같은 정보도 제거하여 더 용량을 줄일 수 있다고 하는데 이런 부분들은 염두에 두지 못했다.

다음 업데이트에서 혹은 다음 회사에서(...) 이런 부분을 좀 더 고려해보면 좋겠다. 

 

 

 

 

반응형