SLIDE 1 http:/ /tsukurimashou.sourceforge.jp/
Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー
Matthew Skala, University of Manitoba* マッシュ ・ スカラ マニトバ大学*
Tsukurimashou: a Japanese-language font meta-family - - PowerPoint PPT Presentation
Tsukurimashou: a Japanese-language font meta-family - - PowerPoint PPT Presentation
http:/ /tsukurimashou.sourceforge.jp/ Tsukurimashou: a Japanese-language font meta-family Matthew Skala, University of Manitoba *
SLIDE 2 http:/ /tsukurimashou.sourceforge.jp/
Outline
Japanese is easy! Japanese is impossible! Tsukurimashou Character databases
❹ ❸ ❷ ❶ 漢 作 日 日 目 字 り 本 本 次 の ま 語 語 デ し は が ー ょ で や タ う き さ ベ な し ー い い ス
SLIDE 3
SLIDE 4 http:/ /tsukurimashou.sourceforge.jp/ .
語
. ⿰ . U+8A9E go “language ” .言
. U+8A00 i “speak” .吾
. ⿱ . U+543E ware “myself” .五
. U+4E94 go “five ” .口
. U+53E3 kuchi “mouth” .語→⿰言⿱五口
SLIDE 5 http:/ /tsukurimashou.sourceforge.jp/ .
永
. 永字八法 The Eight Strokes of Eternity! . ① strange stone . ② jade table . ③ iron pillar . ④ crab’s pincer . ⑤ tiger’s tooth . ⑥ rhinoceros’s horn . ⑦ bird pecking . ⑧ golden knife SLIDE 6 http:/ /tsukurimashou.sourceforge.jp/ .
l
. 作りましょう! Let’s make something! . 永字八法 8 strokes . 50字の部首かな? 50 components, I guess? . ⿰水⿱亠⿱口小 Unicode IDS . METAFONT .涼
.涼
.涼
.涼
.a
. 任せ somebody else’s problem SLIDE 7 http:/ /tsukurimashou.sourceforge.jp/
三十路漢字 ・ Kanji of Thirty Y ears
1980年 LCCD (Mei) 1982年, 1986年 Letter Spirit, etc. (Hofstadter, Metamagical Themas) 1984年 Chinese Metafont (Hobby & Guoan, TUGboat 5.2) 1989年 Quixote Oriental Fonts (Hosek, TUGboat 10.4) 1990年 Poor Man’s Chinese/Japanese (Ridgeway) 1991年 JemT EX (Jalbert) 1993年 Wadalab (TouDai) 1997年, 2003年 HanGlyph (Yiu & Wong, TUGboat 24.1) 2005年 Hóng Zì (Laguna, TUGboat 26.2) 2011年 Character Description Language (Wenlin Institute, commercial) 2012年 Adjustable Fonts (Type Project, commercial)
SLIDE 8 .
ヌ リ カ ベ に 注 意 !
.BEW ARE THE NURIKABE!
SLIDE 9 http:/ /tsukurimashou.sourceforge.jp/ .
林
. ⿰ . U+6797 hayashi “forest” .木
. U+6728 ki “tree ” .木
. U+6728 ki “tree ” .林
.林
.林
. ちがう different . ちがう different . 同じ same . 同じ same . 林→⿰木木 SLIDE 10 http:/ /tsukurimashou.sourceforge.jp/ .
涼
. ⿰ . U+6DBC ryou “cool breeze ” .水
. U+6C34- mizu
京
. ⿱ . U+4EAC kyou “capital” .亠
. U+4EA0 keisankanmuri [that shape] . ⿱ .口
. U+53E3 kuchi “mouth” .小
. U+5C0F shou “small” . 何これ? WTF? . 辞書ではない not in dictionary . ちがう different . ちがう different . Unicodeではない not in Unicode . 涼→⿰水⿱亠⿱口小 . ダ メだよ! ・ no good! SLIDE 11 http:/ /tsukurimashou.sourceforge.jp/ .
観
.- utlook
見
. see .目
. eye .儿
. legs .矢
. arrow .隹
.- ld bird
SLIDE 12 http:/ /tsukurimashou.sourceforge.jp/
Appearance over etymology.
語源より観
Sometimes, exceptions are necessary.
ときどき特例が必要
Every character requires human intervention.
毎字は、 人間介入が 必要
SLIDE 13 http:/ /tsukurimashou.sourceforge.jp/
kanji 5000 漢字 LOC/kanji 65 1漢字につきLOC LOC 325000 LOC LOC/day 10 1日につきLOC days 32500 日 working days/year 250 1年につき仕事の日 years 130 年 .
y
. がんばって下さい Please work hard. Starting is O(1). Finishing is O(n). 最初はO(1)。 最後がO(n)。 SLIDE 14 http:/ /tsukurimashou.sourceforge.jp/ .
325000 LOC!
.
j
. ウィキを使おうっ We’ll use a Wiki — . f . なんでやねん Ya gotta be kidding. SLIDE 15 http:/ /tsukurimashou.sourceforge.jp/ .
フォント font
. ソフトウェア
software
SLIDE 16 http:/ /tsukurimashou.sourceforge.jp/ .
フォント font
. ソフトウェア
software
. バージョン管理 version control . チケットのシ ステ ム ticket system . 多態性 polymorphism . ビルドのシ ステ ム build system . 単体テスト unit tests .
GPL
. エンカプセレーション encapsulation
SLIDE 17 http:/ /tsukurimashou.sourceforge.jp/
Tsukurimashou 作りましょう
Font family for English, Japanese, and Korean 日本語と英語とハング ルの フォントファミリ GPL v3 open source GPL v3のオープンソー ス
- ne developer working since
SLIDE 18 http:/ /tsukurimashou.sourceforge.jp/
SLIDE 19 http:/ /tsukurimashou.sourceforge.jp/
SLIDE 20 http:/ /tsukurimashou.sourceforge.jp/ .
源
. Kaku 角 .源
. Maru 丸 .源 . Bokukko 僕女 .源
. Mincho 明朝物物物物物物
Tsukurimashou Kaku Tsukurimashou Kaku PS Tsukurimashou Mincho Tsukurimashou Mincho PS TsuIta Atama TsuIta Atama PS TsuIta Soku T suIta Soku PS SLIDE 21 http:/ /tsukurimashou.sourceforge.jp/
位相のパラメタ ・ T
- pological parameterization
さ
. mincho=0.0 .さ . mincho=1.0 . 0.0 . Kaku 角 . Maru 丸 . 0.3 . Bokukko 僕女 . 1.0 . Mincho 明朝 SLIDE 22 http:/ /tsukurimashou.sourceforge.jp/ . . Metapost . MetaType1 .
- bstack
SLIDE 23 http:/ /tsukurimashou.sourceforge.jp/ .
観
vardef kanji.grfour.outlook = push_pbox_toexpand("kanji.grfour.outlook"); build_kanji.level(build_kanji.lr(460,50) (build_kanji.tb(470,190) (kanji.grtwo.arrow; replace_strokep(-1)(oldp shifted (-60,0));- bstacktype[find_whatever(otstroke,0)]:=otnull)
- bstacktype[find_whatever(otstroke,-7)]:=otnull;
SLIDE 24 http:/ /tsukurimashou.sourceforge.jp/
. .鬱 .鬱 . kanji.greight.gloom . kanji.leftrad.wood . kanji.greight.tin_can . kanji.grtwo.noon . kanji.grone.wood . kanji.radical.conservative_hat . kanji.rare.spiced_liqueur . kanji.radical.spoon . kanji.rightrad.short_hair .
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S10
.
S9
.
S10
.
S10
.
S9
.
S9
.
S10
.
S4
.
S9
.
3
.
3
.
5
.
5
.
14
.
14
.
26
.
26
.
26
.
26
.
26
.
27
.
27
.
1
.
1
.
2
.
2
.
3
.
3
.
4
.
4
.
4
.
4
.
4
.
5
.
5
.
5
.
6
.
6
.
6
.
7
.
7
.
8
.
8
.
8
.
9
.
9
.
10
.
10
.
11
.
11
.
12
.
12
.
13
.
13
.
14
.
14
.
15
.
15
.
15
.
16
.
16
.
16
.
16
.
16
.
16
.
16
.
16
.
16
.
16
.
17
.
17
.
17
.
18
.
18
.
18
.
19
.
19
.
19
.
20
.
20
.
20
.
21
.
21
.
21
.
22
.
22
.
22
.
23
.
23
.
24
.
24
.
25
.
25
.
26
.
26
.
26
.
26
.
26
.
26
.
26
.
26
.
26
.
26
.
26
.
26
.
26
.
27
.
27
.
27
.
27
.
28
.
28
.
28
.
28
.
29
.
29
.
29
.
29
.
30
.
30
.
30
.
30
SLIDE 25 http:/ /tsukurimashou.sourceforge.jp/
Korean hangul ハング ル語
. L . V . T . L . V . T . L . V . T . L . V . L . V . L . V
지읍시다 바탕 한글
SLIDE 26 http:/ /tsukurimashou.sourceforge.jp/
Parasite packages 寄生パッケージ IDSgrep OCR A OCR B GenJiMon Beikaitoru kleknev
SLIDE 27 http:/ /tsukurimashou.sourceforge.jp/ . . 何の漢字は『木』が左側にある? Which kanji have 木 on the left? 札朽材村松板林柱校根植楾様横橋相 . 何漢字は『俺』の右側を持つか? What contains the right side of 俺?
俺奄庵淹菴閹
. 何漢字は『目』があるでも、『首』とか『貝』とかないか? What contains 目, but nothing like 首 or 貝?
想目相県箱
. 『萌』の符号位置が何? What’s the code point for 萌?
U+840C
.
z
. grepを使ってが いいですか? Can’t we just use grep? SLIDE 28 http:/ /tsukurimashou.sourceforge.jp/ . . 何の漢字は『木』が左側にある? Which kanji have 木 on the left? 札朽材村松板林柱校根植楾様横橋相 .
idsgrep -d '[lr]木?'
. 何漢字は『俺』の右側を持つか? What contains the right side of 俺?
俺奄庵淹菴閹
.
idsgrep -d '俺' idsgrep -d '...奄'
. 何漢字は『目』があるでも、『首』とか『貝』とかないか? What contains 目, but nothing like 首 or 貝?
想目相県箱
.
idsgrep -d '&...目!...*[tb]目?'
. 『萌』の符号位置が何? What’s the code point for 萌?
U+840C
.
idsgrep -Ux '萌'
SLIDE 29 http:/ /tsukurimashou.sourceforge.jp/ . .
態
.
能
.
*
.
厶
.
⺝
.
*
.
匕
.
匕
.
心
.
⿱
.
⿰
.
⿱
.
⿱
.
[&]
.
...
.
(心)
.
...
.
[tb]
.
(匕)
.
(匕)
.
【態】⿱<能>⿰⿱厶⺝⿱匕匕心
.
idsgrep -d '&...心...[tb]匕匕'
SLIDE 30 http:/ /tsukurimashou.sourceforge.jp/
Character databases 漢字のデータベー ス
. .
CHISE
Morioka 2001年 .
KanjiVG
Apel 2009年 .
Tsukurimashou
Skala 2012年 .
CJKGrid
SLIDE 31 http:/ /tsukurimashou.sourceforge.jp/
What language(s)?
何語か?
Who are the users? → Etymology or appearance?
ユーザは誰か?→語源と 観はどちらがいいか?
Data quality
データの品質
SLIDE 32 .
l
. 聞くありがとう Thank you for your attention. . The Tsukurimashou Project http:/ /tsukurimashou.sourceforge.jp/ 『作りましょう』のプロジェクト . Matthew Skala マッシュ ・ スカラ mskala@ansuz.sooke.bc.ca These slides were typeset using X E L A T EX, TikZ, a selection of fonts from the Tsukurimashou Project, and Azudings 1 by Vic Fieger. Osakan pig photo by Matthew Skala, 2011. Nurikabe painting by Kanou Tourin, 1802, public domain.