#############################################
# WenQuanYi Bitmap Font Makefile
#
# Kov Chai (tchaikov<at>gmail<dot>com)
#     2008/04/30  allow to merge with LiberationSans
#     2008/05/02  significantly modified
# Qianqian Fang (fangqq<at>gmail<dot>com)
#     2006/12/13 initial version
#############################################
.PHONEY:all clean cjk cjk0 cjka ko ja hangul latin0 cjkl wqyv08 wqyv1 zenhei
#.SUFFIXES: .pcf .bdf

B2P=bdftopcf
SLICE=./bdfmerge.pl  # the shebang line of this script may need adjustment
CJKBASIC=0x201C--0x201C 0x02C7--0x02C9 0x4E00--0x9FA5
CJKEXTA	=0x3400--0x4DB5
CJK1=0x2460--0x24EA 0x2500--0x25EF 0x2605--0x2606 0x2605--0x2606 0x262F--0x2637
CJK2=0x2FF0--0x2FFB 0x3001--0x3020 0x3021--0x3029 0x3105--0x312C 0x3192--0x319F
CJK3=0x31A0--0x31B7 0x3200--0x32FE 0x3300--0x33FE 0xF900--0xFA6A 0xFF01--0xFFFF
NUMBERS=0x0030--0x0039
LATINBASIC=0x0041--0x005A 0x0061--0x007A
LATINPUNC=0x0061--0x007A 0x005B--0x0060 0x007B--0x007E
KOBASIC=0x1100--0x11FF 0x3131--0x318E 0x3200--0x32FE
JABASIC=0x3041--0x3094 0x30A1--0x30FF 0x3200--0x32FE 0x3300--0x33FE
HANGUL=0xAC00--0xD7FF
NOEXTLATIN=-0x00E0--0x0233

FULLRANGE=0x0--0xFFFF
WQYV08=$(FULLRANGE) $(NOEXTLATIN)
WQYV1=$(WQYV08) $(CJKEXTA) -$(HANGUL)
ZENHEI=$(WQYV08) -$(HANGUL)

CJKALL=$(CJKBASIC) $(CJKEXTA) $(CJK1) $(CJK2) $(CJK3) $(KOBASIC) $(JABASIC)
LATINALL=$(NUMBERS) $(LATINBASIC) $(LATINPUNC)
RANGE=$(FULLRANGE)   # default range

norm_bitmap := 9pt 10pt 11pt 12pt
all_bitmap := $(norm_bitmap)
all_range  := $(all_bitmap:%=wenquanyi_%)
all_pcf    := $(all_range:%=%.pcf)

wenquanyi_%_cjk.bdf: wenquanyi_%.bdf LiberationSans-%.bdf
	$(SLICE) $(RANGE) $^ > $@

%.pcf: %_cjk.bdf
	$(B2P) $< > $@

all: b2p $(all_pcf)
cjk:  RANGE=$(CJKALL)
cjk0: RANGE=$(CJKBASIC)
cjka: RANGE=$(CJKEXTA)
ko:   RANGE=$(KOBASIC)
ja:   RANGE=$(JABASIC)
hangul: RANGE=$(HANGUL)
latin0: RANGE=$(LATINALL)
cjkl:   RANGE=$(CJKALL) $(LATINALL)
wqyv08: RANGE=$(WQYV08)
wqyv1: RANGE=$(WQYV1)
zenhei: RANGE=$(ZENHEI)

cjk cjk0 cjka ko ja hangul latin0 cjkl wqyv08 wqyv1 zenhei: $(all_pcf)

clean:
	-rm -f $(all_pcf)
b2p:
	@if [ -z `which ${B2P}` ]; then echo "Please install bdftopcf to build pcf fonts."; exit 1; fi

install_local: $(all_pcf)
	cp $(all_pcf) $(HOME)/.fonts

