32
http://tsukurimashou.sourceforge.jp/ Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー Matthew Skala, University of Manitoba * マッシュ ・ スカラ マニトバ大学 *

Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

Tsukurimashou a Japanese-languagefont meta-family

『作りましょう』日本語のフォントのメタファミリー

Matthew Skala University of Manitoba

マッシュ スカラ マニトバ大学

httptsukurimashousourceforgejp

Outline

988979 Japanese is easy

988979 Japanese is impossible

988979 Tsukurimashou

988979 Character databases

❹ ❸ ❷ ❶漢 作 日 日 目字 り 本 本 次の ま 語 語デ し は が

ー ょ で やタ う き さベ な し

ー い いス

httptsukurimashousourceforgejp

U+8A9E

goldquolanguagerdquo

U+8A00i

ldquospeakrdquo

U+543Eware

ldquomyselfrdquo

U+4E94go

ldquofiverdquo

U+53E3kuchildquomouthrdquo

語rarr言五口

httptsukurimashousourceforgejp

永字八法The Eight Strokes of Eternity

① strange stone

② jade table

③ iron pillar

④ crabrsquos pincer

⑤ tigerrsquos tooth

⑥ rhinocerosrsquos horn

⑦ bird pecking

⑧ golden knife

httptsukurimashousourceforgejp

l

作りましょうLetrsquos make something

永字八法8 strokes

50字の部首かな50 components

I guess

水亠口小Unicode IDS

METAFONT

a

任せsomebody elsersquos problem

httptsukurimashousourceforgejp

三十路漢字 Kanji of Thirty Years

1980年 LCCD (Mei)

1982年 1986年 Letter Spirit etc (Hofstadter Metamagical Themas)

1984年 Chinese Metafont (Hobby amp Guoan TUGboat 52)

1989年 Quixote Oriental Fonts (Hosek TUGboat 104)

1990年 Poor Manrsquos ChineseJapanese (Ridgeway)

1991年 JemTEX (Jalbert)

1993年 Wadalab (TouDai)

1997年 2003年 HanGlyph (Yiu amp Wong TUGboat 241)

2005年 Hoacuteng Zigrave (Laguna TUGboat 262)

2011年 Character Description Language (Wenlin Institute commercial)

2012年 Adjustable Fonts (Type Project commercial)

ヌリカベに注意

BEWARE THE NURIKABE

httptsukurimashousourceforgejp

U+6797hayashildquoforestrdquo

U+6728ki

ldquotreerdquo

U+6728ki

ldquotreerdquo

林 林 林

ちがうdifferent

ちがうdifferent

同じsame

同じsame

林rarr木木

httptsukurimashousourceforgejp

U+6DBCryou

ldquocool breezerdquo

U+6C34omizuldquowaterrdquo

U+4EACkyou

ldquocapitalrdquo

U+4EA0keisankanmuri[that shape]

U+53E3kuchildquomouthrdquo

U+5C0Fshouldquosmallrdquo

何これWTF

辞書ではないnot in dictionary

ちがうdifferent

ちがうdifferent

Unicodeではないnot in Unicode

涼rarr水亠口小

ダメだよ no good

httptsukurimashousourceforgejp

outlook

見 see

eye

legs

arrow

old bird

大変

big trouble

観rarr矢隹目儿

httptsukurimashousourceforgejp

Appearance overetymology

語源より観

Sometimes exceptionsare necessary

ときどき特例が必要

Every characterrequires humanintervention

毎字は 人間介入が必要

httptsukurimashousourceforgejp

kanji 5000 漢字LOCkanji 65 1漢字につきLOC

LOC 325000 LOCLOCday 10 1日につきLOC

days 32500 日working daysyear 250 1年につき仕事の日

years 130 年

yがんばって下さいPlease work hard

Starting is O(1) Finishing is O(n)最初はO(1) 最後がO(n)

httptsukurimashousourceforgejp

325000 LOC

j

ウィキを使おうっWersquoll use a Wiki mdash

f

なんでやねんYa gotta be kidding

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

バージョン管理version control

チケットのシステムticket system

多態性polymorphism

ビルドのシステムbuild system

単体テストunit tests

GPL

エンカプセレーションencapsulation

httptsukurimashousourceforgejp

Tsukurimashou 作りましょう

Font family for EnglishJapanese and Korean

日本語と英語とハングルのフォントファミリ

GPLv3 open source GPLv3のオープンソース

one developer working sincelate 2010 2010年から一人で書いて

now 〜100000 LOC 今〜十万LOC

now 〜1500 kanji 今〜1500字の漢字

paramaterization stroke styleshape boldness serifs spacing

パラメタ方式は画の形字形太字度うろこ スペーシング

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 2: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

Outline

988979 Japanese is easy

988979 Japanese is impossible

988979 Tsukurimashou

988979 Character databases

❹ ❸ ❷ ❶漢 作 日 日 目字 り 本 本 次の ま 語 語デ し は が

ー ょ で やタ う き さベ な し

ー い いス

httptsukurimashousourceforgejp

U+8A9E

goldquolanguagerdquo

U+8A00i

ldquospeakrdquo

U+543Eware

ldquomyselfrdquo

U+4E94go

ldquofiverdquo

U+53E3kuchildquomouthrdquo

語rarr言五口

httptsukurimashousourceforgejp

永字八法The Eight Strokes of Eternity

① strange stone

② jade table

③ iron pillar

④ crabrsquos pincer

⑤ tigerrsquos tooth

⑥ rhinocerosrsquos horn

⑦ bird pecking

⑧ golden knife

httptsukurimashousourceforgejp

l

作りましょうLetrsquos make something

永字八法8 strokes

50字の部首かな50 components

I guess

水亠口小Unicode IDS

METAFONT

a

任せsomebody elsersquos problem

httptsukurimashousourceforgejp

三十路漢字 Kanji of Thirty Years

1980年 LCCD (Mei)

1982年 1986年 Letter Spirit etc (Hofstadter Metamagical Themas)

1984年 Chinese Metafont (Hobby amp Guoan TUGboat 52)

1989年 Quixote Oriental Fonts (Hosek TUGboat 104)

1990年 Poor Manrsquos ChineseJapanese (Ridgeway)

1991年 JemTEX (Jalbert)

1993年 Wadalab (TouDai)

1997年 2003年 HanGlyph (Yiu amp Wong TUGboat 241)

2005年 Hoacuteng Zigrave (Laguna TUGboat 262)

2011年 Character Description Language (Wenlin Institute commercial)

2012年 Adjustable Fonts (Type Project commercial)

ヌリカベに注意

BEWARE THE NURIKABE

httptsukurimashousourceforgejp

U+6797hayashildquoforestrdquo

U+6728ki

ldquotreerdquo

U+6728ki

ldquotreerdquo

林 林 林

ちがうdifferent

ちがうdifferent

同じsame

同じsame

林rarr木木

httptsukurimashousourceforgejp

U+6DBCryou

ldquocool breezerdquo

U+6C34omizuldquowaterrdquo

U+4EACkyou

ldquocapitalrdquo

U+4EA0keisankanmuri[that shape]

U+53E3kuchildquomouthrdquo

U+5C0Fshouldquosmallrdquo

何これWTF

辞書ではないnot in dictionary

ちがうdifferent

ちがうdifferent

Unicodeではないnot in Unicode

涼rarr水亠口小

ダメだよ no good

httptsukurimashousourceforgejp

outlook

見 see

eye

legs

arrow

old bird

大変

big trouble

観rarr矢隹目儿

httptsukurimashousourceforgejp

Appearance overetymology

語源より観

Sometimes exceptionsare necessary

ときどき特例が必要

Every characterrequires humanintervention

毎字は 人間介入が必要

httptsukurimashousourceforgejp

kanji 5000 漢字LOCkanji 65 1漢字につきLOC

LOC 325000 LOCLOCday 10 1日につきLOC

days 32500 日working daysyear 250 1年につき仕事の日

years 130 年

yがんばって下さいPlease work hard

Starting is O(1) Finishing is O(n)最初はO(1) 最後がO(n)

httptsukurimashousourceforgejp

325000 LOC

j

ウィキを使おうっWersquoll use a Wiki mdash

f

なんでやねんYa gotta be kidding

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

バージョン管理version control

チケットのシステムticket system

多態性polymorphism

ビルドのシステムbuild system

単体テストunit tests

GPL

エンカプセレーションencapsulation

httptsukurimashousourceforgejp

Tsukurimashou 作りましょう

Font family for EnglishJapanese and Korean

日本語と英語とハングルのフォントファミリ

GPLv3 open source GPLv3のオープンソース

one developer working sincelate 2010 2010年から一人で書いて

now 〜100000 LOC 今〜十万LOC

now 〜1500 kanji 今〜1500字の漢字

paramaterization stroke styleshape boldness serifs spacing

パラメタ方式は画の形字形太字度うろこ スペーシング

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 3: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

U+8A9E

goldquolanguagerdquo

U+8A00i

ldquospeakrdquo

U+543Eware

ldquomyselfrdquo

U+4E94go

ldquofiverdquo

U+53E3kuchildquomouthrdquo

語rarr言五口

httptsukurimashousourceforgejp

永字八法The Eight Strokes of Eternity

① strange stone

② jade table

③ iron pillar

④ crabrsquos pincer

⑤ tigerrsquos tooth

⑥ rhinocerosrsquos horn

⑦ bird pecking

⑧ golden knife

httptsukurimashousourceforgejp

l

作りましょうLetrsquos make something

永字八法8 strokes

50字の部首かな50 components

I guess

水亠口小Unicode IDS

METAFONT

a

任せsomebody elsersquos problem

httptsukurimashousourceforgejp

三十路漢字 Kanji of Thirty Years

1980年 LCCD (Mei)

1982年 1986年 Letter Spirit etc (Hofstadter Metamagical Themas)

1984年 Chinese Metafont (Hobby amp Guoan TUGboat 52)

1989年 Quixote Oriental Fonts (Hosek TUGboat 104)

1990年 Poor Manrsquos ChineseJapanese (Ridgeway)

1991年 JemTEX (Jalbert)

1993年 Wadalab (TouDai)

1997年 2003年 HanGlyph (Yiu amp Wong TUGboat 241)

2005年 Hoacuteng Zigrave (Laguna TUGboat 262)

2011年 Character Description Language (Wenlin Institute commercial)

2012年 Adjustable Fonts (Type Project commercial)

ヌリカベに注意

BEWARE THE NURIKABE

httptsukurimashousourceforgejp

U+6797hayashildquoforestrdquo

U+6728ki

ldquotreerdquo

U+6728ki

ldquotreerdquo

林 林 林

ちがうdifferent

ちがうdifferent

同じsame

同じsame

林rarr木木

httptsukurimashousourceforgejp

U+6DBCryou

ldquocool breezerdquo

U+6C34omizuldquowaterrdquo

U+4EACkyou

ldquocapitalrdquo

U+4EA0keisankanmuri[that shape]

U+53E3kuchildquomouthrdquo

U+5C0Fshouldquosmallrdquo

何これWTF

辞書ではないnot in dictionary

ちがうdifferent

ちがうdifferent

Unicodeではないnot in Unicode

涼rarr水亠口小

ダメだよ no good

httptsukurimashousourceforgejp

outlook

見 see

eye

legs

arrow

old bird

大変

big trouble

観rarr矢隹目儿

httptsukurimashousourceforgejp

Appearance overetymology

語源より観

Sometimes exceptionsare necessary

ときどき特例が必要

Every characterrequires humanintervention

毎字は 人間介入が必要

httptsukurimashousourceforgejp

kanji 5000 漢字LOCkanji 65 1漢字につきLOC

LOC 325000 LOCLOCday 10 1日につきLOC

days 32500 日working daysyear 250 1年につき仕事の日

years 130 年

yがんばって下さいPlease work hard

Starting is O(1) Finishing is O(n)最初はO(1) 最後がO(n)

httptsukurimashousourceforgejp

325000 LOC

j

ウィキを使おうっWersquoll use a Wiki mdash

f

なんでやねんYa gotta be kidding

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

バージョン管理version control

チケットのシステムticket system

多態性polymorphism

ビルドのシステムbuild system

単体テストunit tests

GPL

エンカプセレーションencapsulation

httptsukurimashousourceforgejp

Tsukurimashou 作りましょう

Font family for EnglishJapanese and Korean

日本語と英語とハングルのフォントファミリ

GPLv3 open source GPLv3のオープンソース

one developer working sincelate 2010 2010年から一人で書いて

now 〜100000 LOC 今〜十万LOC

now 〜1500 kanji 今〜1500字の漢字

paramaterization stroke styleshape boldness serifs spacing

パラメタ方式は画の形字形太字度うろこ スペーシング

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 4: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

永字八法The Eight Strokes of Eternity

① strange stone

② jade table

③ iron pillar

④ crabrsquos pincer

⑤ tigerrsquos tooth

⑥ rhinocerosrsquos horn

⑦ bird pecking

⑧ golden knife

httptsukurimashousourceforgejp

l

作りましょうLetrsquos make something

永字八法8 strokes

50字の部首かな50 components

I guess

水亠口小Unicode IDS

METAFONT

a

任せsomebody elsersquos problem

httptsukurimashousourceforgejp

三十路漢字 Kanji of Thirty Years

1980年 LCCD (Mei)

1982年 1986年 Letter Spirit etc (Hofstadter Metamagical Themas)

1984年 Chinese Metafont (Hobby amp Guoan TUGboat 52)

1989年 Quixote Oriental Fonts (Hosek TUGboat 104)

1990年 Poor Manrsquos ChineseJapanese (Ridgeway)

1991年 JemTEX (Jalbert)

1993年 Wadalab (TouDai)

1997年 2003年 HanGlyph (Yiu amp Wong TUGboat 241)

2005年 Hoacuteng Zigrave (Laguna TUGboat 262)

2011年 Character Description Language (Wenlin Institute commercial)

2012年 Adjustable Fonts (Type Project commercial)

ヌリカベに注意

BEWARE THE NURIKABE

httptsukurimashousourceforgejp

U+6797hayashildquoforestrdquo

U+6728ki

ldquotreerdquo

U+6728ki

ldquotreerdquo

林 林 林

ちがうdifferent

ちがうdifferent

同じsame

同じsame

林rarr木木

httptsukurimashousourceforgejp

U+6DBCryou

ldquocool breezerdquo

U+6C34omizuldquowaterrdquo

U+4EACkyou

ldquocapitalrdquo

U+4EA0keisankanmuri[that shape]

U+53E3kuchildquomouthrdquo

U+5C0Fshouldquosmallrdquo

何これWTF

辞書ではないnot in dictionary

ちがうdifferent

ちがうdifferent

Unicodeではないnot in Unicode

涼rarr水亠口小

ダメだよ no good

httptsukurimashousourceforgejp

outlook

見 see

eye

legs

arrow

old bird

大変

big trouble

観rarr矢隹目儿

httptsukurimashousourceforgejp

Appearance overetymology

語源より観

Sometimes exceptionsare necessary

ときどき特例が必要

Every characterrequires humanintervention

毎字は 人間介入が必要

httptsukurimashousourceforgejp

kanji 5000 漢字LOCkanji 65 1漢字につきLOC

LOC 325000 LOCLOCday 10 1日につきLOC

days 32500 日working daysyear 250 1年につき仕事の日

years 130 年

yがんばって下さいPlease work hard

Starting is O(1) Finishing is O(n)最初はO(1) 最後がO(n)

httptsukurimashousourceforgejp

325000 LOC

j

ウィキを使おうっWersquoll use a Wiki mdash

f

なんでやねんYa gotta be kidding

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

バージョン管理version control

チケットのシステムticket system

多態性polymorphism

ビルドのシステムbuild system

単体テストunit tests

GPL

エンカプセレーションencapsulation

httptsukurimashousourceforgejp

Tsukurimashou 作りましょう

Font family for EnglishJapanese and Korean

日本語と英語とハングルのフォントファミリ

GPLv3 open source GPLv3のオープンソース

one developer working sincelate 2010 2010年から一人で書いて

now 〜100000 LOC 今〜十万LOC

now 〜1500 kanji 今〜1500字の漢字

paramaterization stroke styleshape boldness serifs spacing

パラメタ方式は画の形字形太字度うろこ スペーシング

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 5: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

l

作りましょうLetrsquos make something

永字八法8 strokes

50字の部首かな50 components

I guess

水亠口小Unicode IDS

METAFONT

a

任せsomebody elsersquos problem

httptsukurimashousourceforgejp

三十路漢字 Kanji of Thirty Years

1980年 LCCD (Mei)

1982年 1986年 Letter Spirit etc (Hofstadter Metamagical Themas)

1984年 Chinese Metafont (Hobby amp Guoan TUGboat 52)

1989年 Quixote Oriental Fonts (Hosek TUGboat 104)

1990年 Poor Manrsquos ChineseJapanese (Ridgeway)

1991年 JemTEX (Jalbert)

1993年 Wadalab (TouDai)

1997年 2003年 HanGlyph (Yiu amp Wong TUGboat 241)

2005年 Hoacuteng Zigrave (Laguna TUGboat 262)

2011年 Character Description Language (Wenlin Institute commercial)

2012年 Adjustable Fonts (Type Project commercial)

ヌリカベに注意

BEWARE THE NURIKABE

httptsukurimashousourceforgejp

U+6797hayashildquoforestrdquo

U+6728ki

ldquotreerdquo

U+6728ki

ldquotreerdquo

林 林 林

ちがうdifferent

ちがうdifferent

同じsame

同じsame

林rarr木木

httptsukurimashousourceforgejp

U+6DBCryou

ldquocool breezerdquo

U+6C34omizuldquowaterrdquo

U+4EACkyou

ldquocapitalrdquo

U+4EA0keisankanmuri[that shape]

U+53E3kuchildquomouthrdquo

U+5C0Fshouldquosmallrdquo

何これWTF

辞書ではないnot in dictionary

ちがうdifferent

ちがうdifferent

Unicodeではないnot in Unicode

涼rarr水亠口小

ダメだよ no good

httptsukurimashousourceforgejp

outlook

見 see

eye

legs

arrow

old bird

大変

big trouble

観rarr矢隹目儿

httptsukurimashousourceforgejp

Appearance overetymology

語源より観

Sometimes exceptionsare necessary

ときどき特例が必要

Every characterrequires humanintervention

毎字は 人間介入が必要

httptsukurimashousourceforgejp

kanji 5000 漢字LOCkanji 65 1漢字につきLOC

LOC 325000 LOCLOCday 10 1日につきLOC

days 32500 日working daysyear 250 1年につき仕事の日

years 130 年

yがんばって下さいPlease work hard

Starting is O(1) Finishing is O(n)最初はO(1) 最後がO(n)

httptsukurimashousourceforgejp

325000 LOC

j

ウィキを使おうっWersquoll use a Wiki mdash

f

なんでやねんYa gotta be kidding

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

バージョン管理version control

チケットのシステムticket system

多態性polymorphism

ビルドのシステムbuild system

単体テストunit tests

GPL

エンカプセレーションencapsulation

httptsukurimashousourceforgejp

Tsukurimashou 作りましょう

Font family for EnglishJapanese and Korean

日本語と英語とハングルのフォントファミリ

GPLv3 open source GPLv3のオープンソース

one developer working sincelate 2010 2010年から一人で書いて

now 〜100000 LOC 今〜十万LOC

now 〜1500 kanji 今〜1500字の漢字

paramaterization stroke styleshape boldness serifs spacing

パラメタ方式は画の形字形太字度うろこ スペーシング

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 6: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

三十路漢字 Kanji of Thirty Years

1980年 LCCD (Mei)

1982年 1986年 Letter Spirit etc (Hofstadter Metamagical Themas)

1984年 Chinese Metafont (Hobby amp Guoan TUGboat 52)

1989年 Quixote Oriental Fonts (Hosek TUGboat 104)

1990年 Poor Manrsquos ChineseJapanese (Ridgeway)

1991年 JemTEX (Jalbert)

1993年 Wadalab (TouDai)

1997年 2003年 HanGlyph (Yiu amp Wong TUGboat 241)

2005年 Hoacuteng Zigrave (Laguna TUGboat 262)

2011年 Character Description Language (Wenlin Institute commercial)

2012年 Adjustable Fonts (Type Project commercial)

ヌリカベに注意

BEWARE THE NURIKABE

httptsukurimashousourceforgejp

U+6797hayashildquoforestrdquo

U+6728ki

ldquotreerdquo

U+6728ki

ldquotreerdquo

林 林 林

ちがうdifferent

ちがうdifferent

同じsame

同じsame

林rarr木木

httptsukurimashousourceforgejp

U+6DBCryou

ldquocool breezerdquo

U+6C34omizuldquowaterrdquo

U+4EACkyou

ldquocapitalrdquo

U+4EA0keisankanmuri[that shape]

U+53E3kuchildquomouthrdquo

U+5C0Fshouldquosmallrdquo

何これWTF

辞書ではないnot in dictionary

ちがうdifferent

ちがうdifferent

Unicodeではないnot in Unicode

涼rarr水亠口小

ダメだよ no good

httptsukurimashousourceforgejp

outlook

見 see

eye

legs

arrow

old bird

大変

big trouble

観rarr矢隹目儿

httptsukurimashousourceforgejp

Appearance overetymology

語源より観

Sometimes exceptionsare necessary

ときどき特例が必要

Every characterrequires humanintervention

毎字は 人間介入が必要

httptsukurimashousourceforgejp

kanji 5000 漢字LOCkanji 65 1漢字につきLOC

LOC 325000 LOCLOCday 10 1日につきLOC

days 32500 日working daysyear 250 1年につき仕事の日

years 130 年

yがんばって下さいPlease work hard

Starting is O(1) Finishing is O(n)最初はO(1) 最後がO(n)

httptsukurimashousourceforgejp

325000 LOC

j

ウィキを使おうっWersquoll use a Wiki mdash

f

なんでやねんYa gotta be kidding

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

バージョン管理version control

チケットのシステムticket system

多態性polymorphism

ビルドのシステムbuild system

単体テストunit tests

GPL

エンカプセレーションencapsulation

httptsukurimashousourceforgejp

Tsukurimashou 作りましょう

Font family for EnglishJapanese and Korean

日本語と英語とハングルのフォントファミリ

GPLv3 open source GPLv3のオープンソース

one developer working sincelate 2010 2010年から一人で書いて

now 〜100000 LOC 今〜十万LOC

now 〜1500 kanji 今〜1500字の漢字

paramaterization stroke styleshape boldness serifs spacing

パラメタ方式は画の形字形太字度うろこ スペーシング

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 7: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

ヌリカベに注意

BEWARE THE NURIKABE

httptsukurimashousourceforgejp

U+6797hayashildquoforestrdquo

U+6728ki

ldquotreerdquo

U+6728ki

ldquotreerdquo

林 林 林

ちがうdifferent

ちがうdifferent

同じsame

同じsame

林rarr木木

httptsukurimashousourceforgejp

U+6DBCryou

ldquocool breezerdquo

U+6C34omizuldquowaterrdquo

U+4EACkyou

ldquocapitalrdquo

U+4EA0keisankanmuri[that shape]

U+53E3kuchildquomouthrdquo

U+5C0Fshouldquosmallrdquo

何これWTF

辞書ではないnot in dictionary

ちがうdifferent

ちがうdifferent

Unicodeではないnot in Unicode

涼rarr水亠口小

ダメだよ no good

httptsukurimashousourceforgejp

outlook

見 see

eye

legs

arrow

old bird

大変

big trouble

観rarr矢隹目儿

httptsukurimashousourceforgejp

Appearance overetymology

語源より観

Sometimes exceptionsare necessary

ときどき特例が必要

Every characterrequires humanintervention

毎字は 人間介入が必要

httptsukurimashousourceforgejp

kanji 5000 漢字LOCkanji 65 1漢字につきLOC

LOC 325000 LOCLOCday 10 1日につきLOC

days 32500 日working daysyear 250 1年につき仕事の日

years 130 年

yがんばって下さいPlease work hard

Starting is O(1) Finishing is O(n)最初はO(1) 最後がO(n)

httptsukurimashousourceforgejp

325000 LOC

j

ウィキを使おうっWersquoll use a Wiki mdash

f

なんでやねんYa gotta be kidding

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

バージョン管理version control

チケットのシステムticket system

多態性polymorphism

ビルドのシステムbuild system

単体テストunit tests

GPL

エンカプセレーションencapsulation

httptsukurimashousourceforgejp

Tsukurimashou 作りましょう

Font family for EnglishJapanese and Korean

日本語と英語とハングルのフォントファミリ

GPLv3 open source GPLv3のオープンソース

one developer working sincelate 2010 2010年から一人で書いて

now 〜100000 LOC 今〜十万LOC

now 〜1500 kanji 今〜1500字の漢字

paramaterization stroke styleshape boldness serifs spacing

パラメタ方式は画の形字形太字度うろこ スペーシング

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 8: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

U+6797hayashildquoforestrdquo

U+6728ki

ldquotreerdquo

U+6728ki

ldquotreerdquo

林 林 林

ちがうdifferent

ちがうdifferent

同じsame

同じsame

林rarr木木

httptsukurimashousourceforgejp

U+6DBCryou

ldquocool breezerdquo

U+6C34omizuldquowaterrdquo

U+4EACkyou

ldquocapitalrdquo

U+4EA0keisankanmuri[that shape]

U+53E3kuchildquomouthrdquo

U+5C0Fshouldquosmallrdquo

何これWTF

辞書ではないnot in dictionary

ちがうdifferent

ちがうdifferent

Unicodeではないnot in Unicode

涼rarr水亠口小

ダメだよ no good

httptsukurimashousourceforgejp

outlook

見 see

eye

legs

arrow

old bird

大変

big trouble

観rarr矢隹目儿

httptsukurimashousourceforgejp

Appearance overetymology

語源より観

Sometimes exceptionsare necessary

ときどき特例が必要

Every characterrequires humanintervention

毎字は 人間介入が必要

httptsukurimashousourceforgejp

kanji 5000 漢字LOCkanji 65 1漢字につきLOC

LOC 325000 LOCLOCday 10 1日につきLOC

days 32500 日working daysyear 250 1年につき仕事の日

years 130 年

yがんばって下さいPlease work hard

Starting is O(1) Finishing is O(n)最初はO(1) 最後がO(n)

httptsukurimashousourceforgejp

325000 LOC

j

ウィキを使おうっWersquoll use a Wiki mdash

f

なんでやねんYa gotta be kidding

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

バージョン管理version control

チケットのシステムticket system

多態性polymorphism

ビルドのシステムbuild system

単体テストunit tests

GPL

エンカプセレーションencapsulation

httptsukurimashousourceforgejp

Tsukurimashou 作りましょう

Font family for EnglishJapanese and Korean

日本語と英語とハングルのフォントファミリ

GPLv3 open source GPLv3のオープンソース

one developer working sincelate 2010 2010年から一人で書いて

now 〜100000 LOC 今〜十万LOC

now 〜1500 kanji 今〜1500字の漢字

paramaterization stroke styleshape boldness serifs spacing

パラメタ方式は画の形字形太字度うろこ スペーシング

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 9: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

U+6DBCryou

ldquocool breezerdquo

U+6C34omizuldquowaterrdquo

U+4EACkyou

ldquocapitalrdquo

U+4EA0keisankanmuri[that shape]

U+53E3kuchildquomouthrdquo

U+5C0Fshouldquosmallrdquo

何これWTF

辞書ではないnot in dictionary

ちがうdifferent

ちがうdifferent

Unicodeではないnot in Unicode

涼rarr水亠口小

ダメだよ no good

httptsukurimashousourceforgejp

outlook

見 see

eye

legs

arrow

old bird

大変

big trouble

観rarr矢隹目儿

httptsukurimashousourceforgejp

Appearance overetymology

語源より観

Sometimes exceptionsare necessary

ときどき特例が必要

Every characterrequires humanintervention

毎字は 人間介入が必要

httptsukurimashousourceforgejp

kanji 5000 漢字LOCkanji 65 1漢字につきLOC

LOC 325000 LOCLOCday 10 1日につきLOC

days 32500 日working daysyear 250 1年につき仕事の日

years 130 年

yがんばって下さいPlease work hard

Starting is O(1) Finishing is O(n)最初はO(1) 最後がO(n)

httptsukurimashousourceforgejp

325000 LOC

j

ウィキを使おうっWersquoll use a Wiki mdash

f

なんでやねんYa gotta be kidding

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

バージョン管理version control

チケットのシステムticket system

多態性polymorphism

ビルドのシステムbuild system

単体テストunit tests

GPL

エンカプセレーションencapsulation

httptsukurimashousourceforgejp

Tsukurimashou 作りましょう

Font family for EnglishJapanese and Korean

日本語と英語とハングルのフォントファミリ

GPLv3 open source GPLv3のオープンソース

one developer working sincelate 2010 2010年から一人で書いて

now 〜100000 LOC 今〜十万LOC

now 〜1500 kanji 今〜1500字の漢字

paramaterization stroke styleshape boldness serifs spacing

パラメタ方式は画の形字形太字度うろこ スペーシング

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 10: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

outlook

見 see

eye

legs

arrow

old bird

大変

big trouble

観rarr矢隹目儿

httptsukurimashousourceforgejp

Appearance overetymology

語源より観

Sometimes exceptionsare necessary

ときどき特例が必要

Every characterrequires humanintervention

毎字は 人間介入が必要

httptsukurimashousourceforgejp

kanji 5000 漢字LOCkanji 65 1漢字につきLOC

LOC 325000 LOCLOCday 10 1日につきLOC

days 32500 日working daysyear 250 1年につき仕事の日

years 130 年

yがんばって下さいPlease work hard

Starting is O(1) Finishing is O(n)最初はO(1) 最後がO(n)

httptsukurimashousourceforgejp

325000 LOC

j

ウィキを使おうっWersquoll use a Wiki mdash

f

なんでやねんYa gotta be kidding

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

バージョン管理version control

チケットのシステムticket system

多態性polymorphism

ビルドのシステムbuild system

単体テストunit tests

GPL

エンカプセレーションencapsulation

httptsukurimashousourceforgejp

Tsukurimashou 作りましょう

Font family for EnglishJapanese and Korean

日本語と英語とハングルのフォントファミリ

GPLv3 open source GPLv3のオープンソース

one developer working sincelate 2010 2010年から一人で書いて

now 〜100000 LOC 今〜十万LOC

now 〜1500 kanji 今〜1500字の漢字

paramaterization stroke styleshape boldness serifs spacing

パラメタ方式は画の形字形太字度うろこ スペーシング

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 11: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

Appearance overetymology

語源より観

Sometimes exceptionsare necessary

ときどき特例が必要

Every characterrequires humanintervention

毎字は 人間介入が必要

httptsukurimashousourceforgejp

kanji 5000 漢字LOCkanji 65 1漢字につきLOC

LOC 325000 LOCLOCday 10 1日につきLOC

days 32500 日working daysyear 250 1年につき仕事の日

years 130 年

yがんばって下さいPlease work hard

Starting is O(1) Finishing is O(n)最初はO(1) 最後がO(n)

httptsukurimashousourceforgejp

325000 LOC

j

ウィキを使おうっWersquoll use a Wiki mdash

f

なんでやねんYa gotta be kidding

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

バージョン管理version control

チケットのシステムticket system

多態性polymorphism

ビルドのシステムbuild system

単体テストunit tests

GPL

エンカプセレーションencapsulation

httptsukurimashousourceforgejp

Tsukurimashou 作りましょう

Font family for EnglishJapanese and Korean

日本語と英語とハングルのフォントファミリ

GPLv3 open source GPLv3のオープンソース

one developer working sincelate 2010 2010年から一人で書いて

now 〜100000 LOC 今〜十万LOC

now 〜1500 kanji 今〜1500字の漢字

paramaterization stroke styleshape boldness serifs spacing

パラメタ方式は画の形字形太字度うろこ スペーシング

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 12: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

kanji 5000 漢字LOCkanji 65 1漢字につきLOC

LOC 325000 LOCLOCday 10 1日につきLOC

days 32500 日working daysyear 250 1年につき仕事の日

years 130 年

yがんばって下さいPlease work hard

Starting is O(1) Finishing is O(n)最初はO(1) 最後がO(n)

httptsukurimashousourceforgejp

325000 LOC

j

ウィキを使おうっWersquoll use a Wiki mdash

f

なんでやねんYa gotta be kidding

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

バージョン管理version control

チケットのシステムticket system

多態性polymorphism

ビルドのシステムbuild system

単体テストunit tests

GPL

エンカプセレーションencapsulation

httptsukurimashousourceforgejp

Tsukurimashou 作りましょう

Font family for EnglishJapanese and Korean

日本語と英語とハングルのフォントファミリ

GPLv3 open source GPLv3のオープンソース

one developer working sincelate 2010 2010年から一人で書いて

now 〜100000 LOC 今〜十万LOC

now 〜1500 kanji 今〜1500字の漢字

paramaterization stroke styleshape boldness serifs spacing

パラメタ方式は画の形字形太字度うろこ スペーシング

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 13: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

325000 LOC

j

ウィキを使おうっWersquoll use a Wiki mdash

f

なんでやねんYa gotta be kidding

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

バージョン管理version control

チケットのシステムticket system

多態性polymorphism

ビルドのシステムbuild system

単体テストunit tests

GPL

エンカプセレーションencapsulation

httptsukurimashousourceforgejp

Tsukurimashou 作りましょう

Font family for EnglishJapanese and Korean

日本語と英語とハングルのフォントファミリ

GPLv3 open source GPLv3のオープンソース

one developer working sincelate 2010 2010年から一人で書いて

now 〜100000 LOC 今〜十万LOC

now 〜1500 kanji 今〜1500字の漢字

paramaterization stroke styleshape boldness serifs spacing

パラメタ方式は画の形字形太字度うろこ スペーシング

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 14: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

バージョン管理version control

チケットのシステムticket system

多態性polymorphism

ビルドのシステムbuild system

単体テストunit tests

GPL

エンカプセレーションencapsulation

httptsukurimashousourceforgejp

Tsukurimashou 作りましょう

Font family for EnglishJapanese and Korean

日本語と英語とハングルのフォントファミリ

GPLv3 open source GPLv3のオープンソース

one developer working sincelate 2010 2010年から一人で書いて

now 〜100000 LOC 今〜十万LOC

now 〜1500 kanji 今〜1500字の漢字

paramaterization stroke styleshape boldness serifs spacing

パラメタ方式は画の形字形太字度うろこ スペーシング

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 15: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

フォントfont

ソフトウェアsoftware

バージョン管理version control

チケットのシステムticket system

多態性polymorphism

ビルドのシステムbuild system

単体テストunit tests

GPL

エンカプセレーションencapsulation

httptsukurimashousourceforgejp

Tsukurimashou 作りましょう

Font family for EnglishJapanese and Korean

日本語と英語とハングルのフォントファミリ

GPLv3 open source GPLv3のオープンソース

one developer working sincelate 2010 2010年から一人で書いて

now 〜100000 LOC 今〜十万LOC

now 〜1500 kanji 今〜1500字の漢字

paramaterization stroke styleshape boldness serifs spacing

パラメタ方式は画の形字形太字度うろこ スペーシング

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 16: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

Tsukurimashou 作りましょう

Font family for EnglishJapanese and Korean

日本語と英語とハングルのフォントファミリ

GPLv3 open source GPLv3のオープンソース

one developer working sincelate 2010 2010年から一人で書いて

now 〜100000 LOC 今〜十万LOC

now 〜1500 kanji 今〜1500字の漢字

paramaterization stroke styleshape boldness serifs spacing

パラメタ方式は画の形字形太字度うろこ スペーシング

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 17: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 18: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 19: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

Kaku 角

Maru 丸

源Bokukko 僕女

Mincho 明朝

物物物物物物Tsukurimashou Kaku Tsukurimashou Kaku PSTsukurimashou Mincho Tsukurimashou Mincho PS

TsuIta Atama TsuIta Atama PSTsuIta Soku TsuIta Soku PS

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 20: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

位相のパラメタ Topological parameterization

mincho=00

さmincho=10

00

Kaku 角

Maru 丸

03

Bokukko 僕女

10

Mincho 明朝

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 21: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

Metapost

MetaType1

obstack

作りましょう

EPS and

proof files

Perl

MT1 port

Type 1

FontForge

scripts

kerner

OTF

TikZ

X ELATEX

PDF

GNU Make

Autotools

build

Hamlog

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 22: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

観vardef kanjigrfouroutlook =push_pbox_toexpand(kanjigrfouroutlook)build_kanjilevel(build_kanjilr(46050)(build_kanjitb(470190)(kanjigrtwoarrowreplace_strokep(-1)(oldp shifted (-600))obstacktype[find_whatever(otstroke0)]=otnull)

(kanjiradicalold_birdobstacktype[find_whatever(otstroke-7)]=otnullreplace_strokep(-6)(point 0 of oldp+(015)--point 1 of oldp)replace_strokep(-4)(point 0 of oldp+(300)--point 1 of oldp)))

(kanjigronesee))expand_pbox

enddef kanmi outlookbegintsuglyph(uni89B3179)kanjigrfouroutlooktsu_render

endtsuglyph

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 23: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

鬱鬱kanjigreightgloom

kanjileftradwood

kanjigreighttin_can

kanjigrtwonoon

kanjigronewood

kanjiradicalconservative_hat

kanjirarespiced_liqueur

kanjiradicalspoon

kanjirightradshort_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

14

14

26

26 26 26 26

27

27

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

2626

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

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 24: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

Korean hangul ハングル語

L

V

T

L

V

T

L

V

T

L

V

L

V

L

V

지읍시다 바탕 한글

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 25: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

Parasite packages 寄生パッケージ

IDSgrep

OCR A OCR BGenJiMon

Beikaitorukleknev

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 26: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

何の漢字は『木』が左側にあるWhich kanji have 木 on the left札朽材村松板林柱校根植楾様横橋相

何漢字は『俺』の右側を持つかWhat contains the right side of 俺

俺奄庵淹菴閹

何漢字は『目』があるでも『首』とか『貝』とかないかWhat contains 目 but nothing like 首 or 貝

想目相県箱

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

z

grepを使ってがいいですか

Canrsquot we just use grep

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 27: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

何の漢字は『木』が左側にある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 -damp目[tb]目

『萌』の符号位置が何

Whatrsquos the code point for 萌

U+840C

idsgrep -Ux 萌

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 28: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

[amp]

(心)

[tb]

(匕)

(匕)

【態】lt能gt厶匕匕心

idsgrep -d amp心[tb]匕匕

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 29: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

Character databases 漢字のデータベース

CHISEMorioka 2001年

KanjiVGApel 2009年

TsukurimashouSkala 2012年

CJKGrid

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 30: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

httptsukurimashousourceforgejp

What language(s) 何語か

Who are the users rarrEtymology or appearance

ユーザは誰かrarr語源と観はどちらがいいか

Data quality データの品質

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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

Page 31: Tsukurimashou: a Japanese-language font meta-family 『作りま … · 2013-10-28 · Tsukurimashou: a Japanese-language font meta-family 『作りましょう』 日本語のフォントのメタファミリー

l

聞くありがとうThank you for your attention

The Tsukurimashou Projecthttptsukurimashousourceforgejp

『作りましょう』のプロジェクト

Matthew Skala マッシュ スカラmskalaansuzsookebcca

These slides were typeset using X ELATEX 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