f9d78d543c47bf961182b59fd92d3e76f771eb6e
[unifont.git] / hangul / Makefile
1
2 SHELL = /bin/sh
3
4 BINDIR = ../bin
5 GZFLAGS = -f -9 -n
6
7 #
8 # assembly date of this version
9 #
10 UNICODE_VERSION = 7.0
11 PKG_REV = 06
12 VERSION = $(UNICODE_VERSION).$(PKG_REV)
13
14 COPYRIGHT = "Copyright (C) 2013 Paul Hardy.  \
15 Licensed under the GNU General Public License; either version 2, or \
16 (at your option) a later version, with the GNU Font Embedding Exception."
17
18
19 all: hangul-syllables
20
21 hangul-syllables: hangul-hex hangul-bmp ksx chojung
22
23 # Convert the hanbase-??.bmp files into a Johab .hex file,
24 # then convert that into a BDF font file.
25
26 hangul-hex:
27         echo "0000:0000000000000000000000000000000000000000000000000000000000000000" >hangul-base.hex
28         $(BINDIR)/unibmp2hex -w < hanbase-00.bmp >>hangul-base.hex
29         $(BINDIR)/unibmp2hex -w < hanbase-01.bmp >>hangul-base.hex
30         $(BINDIR)/unibmp2hex -w < hanbase-02.bmp >>hangul-base.hex
31         $(BINDIR)/hex2bdf \
32            -f "Unifont Johab" -c $(COPYRIGHT) -v "$(VERSION)" \
33            < hangul-base.hex | \
34            sed -e "s/[Ii][Ss][Oo]10646/Johab/g" >hangul-base.bdf
35         bdftopcf < hangul-base.bdf > hangul-base.pcf
36         gzip $(GZFLAGS) hangul-base.pcf
37         $(BINDIR)/johab2ucs2 < hangul-base.bdf > hangul-syllables.hex
38
39 # Convert the .hex file containing all Unicode Hangul Syllables
40 # into bitmap images for checking visually.
41
42 hangul-bmp: hangul-syllables.hex
43         if [ ! -d syllables ]; then \
44                 mkdir syllables; \
45         fi
46         $(BINDIR)/unihex2bmp -pAC < hangul-syllables.hex > syllables/hangul-AC.bmp
47         $(BINDIR)/unihex2bmp -pAD < hangul-syllables.hex > syllables/hangul-AD.bmp
48         $(BINDIR)/unihex2bmp -pAE < hangul-syllables.hex > syllables/hangul-AE.bmp
49         $(BINDIR)/unihex2bmp -pAF < hangul-syllables.hex > syllables/hangul-AF.bmp
50         $(BINDIR)/unihex2bmp -pB0 < hangul-syllables.hex > syllables/hangul-B0.bmp
51         $(BINDIR)/unihex2bmp -pB1 < hangul-syllables.hex > syllables/hangul-B1.bmp
52         $(BINDIR)/unihex2bmp -pB2 < hangul-syllables.hex > syllables/hangul-B2.bmp
53         $(BINDIR)/unihex2bmp -pB3 < hangul-syllables.hex > syllables/hangul-B3.bmp
54         $(BINDIR)/unihex2bmp -pB4 < hangul-syllables.hex > syllables/hangul-B4.bmp
55         $(BINDIR)/unihex2bmp -pB5 < hangul-syllables.hex > syllables/hangul-B5.bmp
56         $(BINDIR)/unihex2bmp -pB6 < hangul-syllables.hex > syllables/hangul-B6.bmp
57         $(BINDIR)/unihex2bmp -pB7 < hangul-syllables.hex > syllables/hangul-B7.bmp
58         $(BINDIR)/unihex2bmp -pB8 < hangul-syllables.hex > syllables/hangul-B8.bmp
59         $(BINDIR)/unihex2bmp -pB9 < hangul-syllables.hex > syllables/hangul-B9.bmp
60         $(BINDIR)/unihex2bmp -pBA < hangul-syllables.hex > syllables/hangul-BA.bmp
61         $(BINDIR)/unihex2bmp -pBB < hangul-syllables.hex > syllables/hangul-BB.bmp
62         $(BINDIR)/unihex2bmp -pBC < hangul-syllables.hex > syllables/hangul-BC.bmp
63         $(BINDIR)/unihex2bmp -pBD < hangul-syllables.hex > syllables/hangul-BD.bmp
64         $(BINDIR)/unihex2bmp -pBE < hangul-syllables.hex > syllables/hangul-BE.bmp
65         $(BINDIR)/unihex2bmp -pBF < hangul-syllables.hex > syllables/hangul-BF.bmp
66         $(BINDIR)/unihex2bmp -pC0 < hangul-syllables.hex > syllables/hangul-C0.bmp
67         $(BINDIR)/unihex2bmp -pC1 < hangul-syllables.hex > syllables/hangul-C1.bmp
68         $(BINDIR)/unihex2bmp -pC2 < hangul-syllables.hex > syllables/hangul-C2.bmp
69         $(BINDIR)/unihex2bmp -pC3 < hangul-syllables.hex > syllables/hangul-C3.bmp
70         $(BINDIR)/unihex2bmp -pC4 < hangul-syllables.hex > syllables/hangul-C4.bmp
71         $(BINDIR)/unihex2bmp -pC5 < hangul-syllables.hex > syllables/hangul-C5.bmp
72         $(BINDIR)/unihex2bmp -pC6 < hangul-syllables.hex > syllables/hangul-C6.bmp
73         $(BINDIR)/unihex2bmp -pC7 < hangul-syllables.hex > syllables/hangul-C7.bmp
74         $(BINDIR)/unihex2bmp -pC8 < hangul-syllables.hex > syllables/hangul-C8.bmp
75         $(BINDIR)/unihex2bmp -pC9 < hangul-syllables.hex > syllables/hangul-C9.bmp
76         $(BINDIR)/unihex2bmp -pCA < hangul-syllables.hex > syllables/hangul-CA.bmp
77         $(BINDIR)/unihex2bmp -pCB < hangul-syllables.hex > syllables/hangul-CB.bmp
78         $(BINDIR)/unihex2bmp -pCC < hangul-syllables.hex > syllables/hangul-CC.bmp
79         $(BINDIR)/unihex2bmp -pCD < hangul-syllables.hex > syllables/hangul-CD.bmp
80         $(BINDIR)/unihex2bmp -pCE < hangul-syllables.hex > syllables/hangul-CE.bmp
81         $(BINDIR)/unihex2bmp -pCF < hangul-syllables.hex > syllables/hangul-CF.bmp
82         $(BINDIR)/unihex2bmp -pD0 < hangul-syllables.hex > syllables/hangul-D0.bmp
83         $(BINDIR)/unihex2bmp -pD1 < hangul-syllables.hex > syllables/hangul-D1.bmp
84         $(BINDIR)/unihex2bmp -pD2 < hangul-syllables.hex > syllables/hangul-D2.bmp
85         $(BINDIR)/unihex2bmp -pD3 < hangul-syllables.hex > syllables/hangul-D3.bmp
86         $(BINDIR)/unihex2bmp -pD4 < hangul-syllables.hex > syllables/hangul-D4.bmp
87         $(BINDIR)/unihex2bmp -pD5 < hangul-syllables.hex > syllables/hangul-D5.bmp
88         $(BINDIR)/unihex2bmp -pD6 < hangul-syllables.hex > syllables/hangul-D6.bmp
89         $(BINDIR)/unihex2bmp -pD7 < hangul-syllables.hex > syllables/hangul-D7.bmp
90
91 #
92 # Extract those syllables that appear in KS X 1001:1992.
93 # These are the 2,350 syllables in modern usage out of
94 # a total possible 11,172 syllables.
95 #
96 ksx: hangul-syllables.hex
97         if [ ! -d ksx-syllables ]; then \
98                 mkdir ksx-syllables; \
99         fi
100         $(BINDIR)/unifontksx < hangul-syllables.hex > ksx-syllables.hex
101         $(BINDIR)/unihex2bmp -pAC < ksx-syllables.hex > ksx-syllables/han-AC.bmp
102         $(BINDIR)/unihex2bmp -pAD < ksx-syllables.hex > ksx-syllables/han-AD.bmp
103         $(BINDIR)/unihex2bmp -pAE < ksx-syllables.hex > ksx-syllables/han-AE.bmp
104         $(BINDIR)/unihex2bmp -pAF < ksx-syllables.hex > ksx-syllables/han-AF.bmp
105         $(BINDIR)/unihex2bmp -pB0 < ksx-syllables.hex > ksx-syllables/han-B0.bmp
106         $(BINDIR)/unihex2bmp -pB1 < ksx-syllables.hex > ksx-syllables/han-B1.bmp
107         $(BINDIR)/unihex2bmp -pB2 < ksx-syllables.hex > ksx-syllables/han-B2.bmp
108         $(BINDIR)/unihex2bmp -pB3 < ksx-syllables.hex > ksx-syllables/han-B3.bmp
109         $(BINDIR)/unihex2bmp -pB4 < ksx-syllables.hex > ksx-syllables/han-B4.bmp
110         $(BINDIR)/unihex2bmp -pB5 < ksx-syllables.hex > ksx-syllables/han-B5.bmp
111         $(BINDIR)/unihex2bmp -pB6 < ksx-syllables.hex > ksx-syllables/han-B6.bmp
112         $(BINDIR)/unihex2bmp -pB7 < ksx-syllables.hex > ksx-syllables/han-B7.bmp
113         $(BINDIR)/unihex2bmp -pB8 < ksx-syllables.hex > ksx-syllables/han-B8.bmp
114         $(BINDIR)/unihex2bmp -pB9 < ksx-syllables.hex > ksx-syllables/han-B9.bmp
115         $(BINDIR)/unihex2bmp -pBA < ksx-syllables.hex > ksx-syllables/han-BA.bmp
116         $(BINDIR)/unihex2bmp -pBB < ksx-syllables.hex > ksx-syllables/han-BB.bmp
117         $(BINDIR)/unihex2bmp -pBC < ksx-syllables.hex > ksx-syllables/han-BC.bmp
118         $(BINDIR)/unihex2bmp -pBD < ksx-syllables.hex > ksx-syllables/han-BD.bmp
119         $(BINDIR)/unihex2bmp -pBE < ksx-syllables.hex > ksx-syllables/han-BE.bmp
120         $(BINDIR)/unihex2bmp -pBF < ksx-syllables.hex > ksx-syllables/han-BF.bmp
121         $(BINDIR)/unihex2bmp -pC0 < ksx-syllables.hex > ksx-syllables/han-C0.bmp
122         $(BINDIR)/unihex2bmp -pC1 < ksx-syllables.hex > ksx-syllables/han-C1.bmp
123         $(BINDIR)/unihex2bmp -pC2 < ksx-syllables.hex > ksx-syllables/han-C2.bmp
124         $(BINDIR)/unihex2bmp -pC3 < ksx-syllables.hex > ksx-syllables/han-C3.bmp
125         $(BINDIR)/unihex2bmp -pC4 < ksx-syllables.hex > ksx-syllables/han-C4.bmp
126         $(BINDIR)/unihex2bmp -pC5 < ksx-syllables.hex > ksx-syllables/han-C5.bmp
127         $(BINDIR)/unihex2bmp -pC6 < ksx-syllables.hex > ksx-syllables/han-C6.bmp
128         $(BINDIR)/unihex2bmp -pC7 < ksx-syllables.hex > ksx-syllables/han-C7.bmp
129         $(BINDIR)/unihex2bmp -pC8 < ksx-syllables.hex > ksx-syllables/han-C8.bmp
130         $(BINDIR)/unihex2bmp -pC9 < ksx-syllables.hex > ksx-syllables/han-C9.bmp
131         $(BINDIR)/unihex2bmp -pCA < ksx-syllables.hex > ksx-syllables/han-CA.bmp
132         $(BINDIR)/unihex2bmp -pCB < ksx-syllables.hex > ksx-syllables/han-CB.bmp
133         $(BINDIR)/unihex2bmp -pCC < ksx-syllables.hex > ksx-syllables/han-CC.bmp
134         $(BINDIR)/unihex2bmp -pCD < ksx-syllables.hex > ksx-syllables/han-CD.bmp
135         $(BINDIR)/unihex2bmp -pCE < ksx-syllables.hex > ksx-syllables/han-CE.bmp
136         $(BINDIR)/unihex2bmp -pCF < ksx-syllables.hex > ksx-syllables/han-CF.bmp
137         $(BINDIR)/unihex2bmp -pD0 < ksx-syllables.hex > ksx-syllables/han-D0.bmp
138         $(BINDIR)/unihex2bmp -pD1 < ksx-syllables.hex > ksx-syllables/han-D1.bmp
139         $(BINDIR)/unihex2bmp -pD2 < ksx-syllables.hex > ksx-syllables/han-D2.bmp
140         $(BINDIR)/unihex2bmp -pD3 < ksx-syllables.hex > ksx-syllables/han-D3.bmp
141         $(BINDIR)/unihex2bmp -pD4 < ksx-syllables.hex > ksx-syllables/han-D4.bmp
142         $(BINDIR)/unihex2bmp -pD5 < ksx-syllables.hex > ksx-syllables/han-D5.bmp
143         $(BINDIR)/unihex2bmp -pD6 < ksx-syllables.hex > ksx-syllables/han-D6.bmp
144         $(BINDIR)/unihex2bmp -pD7 < ksx-syllables.hex > ksx-syllables/han-D7.bmp
145
146 #
147 # Extract those syllables that only contain choseong and
148 # jungseong (initial consonant plus vowel).
149 #
150 chojung: hangul-syllables.hex
151         if [ ! -d chojung-syllables ]; then \
152                 mkdir chojung-syllables; \
153         fi
154         $(BINDIR)/unifontchojung < hangul-syllables.hex > chojung-syllables.hex
155         $(BINDIR)/unihex2bmp -pAC < chojung-syllables.hex > chojung-syllables/han-AC.bmp
156         $(BINDIR)/unihex2bmp -pAD < chojung-syllables.hex > chojung-syllables/han-AD.bmp
157         $(BINDIR)/unihex2bmp -pAE < chojung-syllables.hex > chojung-syllables/han-AE.bmp
158         $(BINDIR)/unihex2bmp -pAF < chojung-syllables.hex > chojung-syllables/han-AF.bmp
159         $(BINDIR)/unihex2bmp -pB0 < chojung-syllables.hex > chojung-syllables/han-B0.bmp
160         $(BINDIR)/unihex2bmp -pB1 < chojung-syllables.hex > chojung-syllables/han-B1.bmp
161         $(BINDIR)/unihex2bmp -pB2 < chojung-syllables.hex > chojung-syllables/han-B2.bmp
162         $(BINDIR)/unihex2bmp -pB3 < chojung-syllables.hex > chojung-syllables/han-B3.bmp
163         $(BINDIR)/unihex2bmp -pB4 < chojung-syllables.hex > chojung-syllables/han-B4.bmp
164         $(BINDIR)/unihex2bmp -pB5 < chojung-syllables.hex > chojung-syllables/han-B5.bmp
165         $(BINDIR)/unihex2bmp -pB6 < chojung-syllables.hex > chojung-syllables/han-B6.bmp
166         $(BINDIR)/unihex2bmp -pB7 < chojung-syllables.hex > chojung-syllables/han-B7.bmp
167         $(BINDIR)/unihex2bmp -pB8 < chojung-syllables.hex > chojung-syllables/han-B8.bmp
168         $(BINDIR)/unihex2bmp -pB9 < chojung-syllables.hex > chojung-syllables/han-B9.bmp
169         $(BINDIR)/unihex2bmp -pBA < chojung-syllables.hex > chojung-syllables/han-BA.bmp
170         $(BINDIR)/unihex2bmp -pBB < chojung-syllables.hex > chojung-syllables/han-BB.bmp
171         $(BINDIR)/unihex2bmp -pBC < chojung-syllables.hex > chojung-syllables/han-BC.bmp
172         $(BINDIR)/unihex2bmp -pBD < chojung-syllables.hex > chojung-syllables/han-BD.bmp
173         $(BINDIR)/unihex2bmp -pBE < chojung-syllables.hex > chojung-syllables/han-BE.bmp
174         $(BINDIR)/unihex2bmp -pBF < chojung-syllables.hex > chojung-syllables/han-BF.bmp
175         $(BINDIR)/unihex2bmp -pC0 < chojung-syllables.hex > chojung-syllables/han-C0.bmp
176         $(BINDIR)/unihex2bmp -pC1 < chojung-syllables.hex > chojung-syllables/han-C1.bmp
177         $(BINDIR)/unihex2bmp -pC2 < chojung-syllables.hex > chojung-syllables/han-C2.bmp
178         $(BINDIR)/unihex2bmp -pC3 < chojung-syllables.hex > chojung-syllables/han-C3.bmp
179         $(BINDIR)/unihex2bmp -pC4 < chojung-syllables.hex > chojung-syllables/han-C4.bmp
180         $(BINDIR)/unihex2bmp -pC5 < chojung-syllables.hex > chojung-syllables/han-C5.bmp
181         $(BINDIR)/unihex2bmp -pC6 < chojung-syllables.hex > chojung-syllables/han-C6.bmp
182         $(BINDIR)/unihex2bmp -pC7 < chojung-syllables.hex > chojung-syllables/han-C7.bmp
183         $(BINDIR)/unihex2bmp -pC8 < chojung-syllables.hex > chojung-syllables/han-C8.bmp
184         $(BINDIR)/unihex2bmp -pC9 < chojung-syllables.hex > chojung-syllables/han-C9.bmp
185         $(BINDIR)/unihex2bmp -pCA < chojung-syllables.hex > chojung-syllables/han-CA.bmp
186         $(BINDIR)/unihex2bmp -pCB < chojung-syllables.hex > chojung-syllables/han-CB.bmp
187         $(BINDIR)/unihex2bmp -pCC < chojung-syllables.hex > chojung-syllables/han-CC.bmp
188         $(BINDIR)/unihex2bmp -pCD < chojung-syllables.hex > chojung-syllables/han-CD.bmp
189         $(BINDIR)/unihex2bmp -pCE < chojung-syllables.hex > chojung-syllables/han-CE.bmp
190         $(BINDIR)/unihex2bmp -pCF < chojung-syllables.hex > chojung-syllables/han-CF.bmp
191         $(BINDIR)/unihex2bmp -pD0 < chojung-syllables.hex > chojung-syllables/han-D0.bmp
192         $(BINDIR)/unihex2bmp -pD1 < chojung-syllables.hex > chojung-syllables/han-D1.bmp
193         $(BINDIR)/unihex2bmp -pD2 < chojung-syllables.hex > chojung-syllables/han-D2.bmp
194         $(BINDIR)/unihex2bmp -pD3 < chojung-syllables.hex > chojung-syllables/han-D3.bmp
195         $(BINDIR)/unihex2bmp -pD4 < chojung-syllables.hex > chojung-syllables/han-D4.bmp
196         $(BINDIR)/unihex2bmp -pD5 < chojung-syllables.hex > chojung-syllables/han-D5.bmp
197         $(BINDIR)/unihex2bmp -pD6 < chojung-syllables.hex > chojung-syllables/han-D6.bmp
198         $(BINDIR)/unihex2bmp -pD7 < chojung-syllables.hex > chojung-syllables/han-D7.bmp
199
200 precompiled: hangul-hex
201         test -d precompiled || mkdir precompiled
202         mv hangul-base.bdf hangul-base.pcf.gz hangul-base.hex hangul-syllables.hex \
203            precompiled
204
205 # Remove the files that this Makefile creates.
206
207 clean:
208         \rm -f hangul-base.bdf hangul-syllables.hex
209         \rm -f ksx-syllables.hex chojung-syllables.hex
210         \rm -f syllables/* ksx-syllables/* chojung-syllables/*
211         \rm -f *~
212
213 distclean: clean
214         \rm -rf syllables ksx-syllables chojung-syllables *~
215
216 .PHONY: all hangul-syllables hangul-hex hangul-bmp ksx chojung clean distclean