X-Git-Url: http://git.shiar.net/unifont.git/blobdiff_plain/119a78c606ce7e90f07f84f5307628fd5a0837f7..fc551ca87db118182bb4292bc08fc5fc03ea3f89:/font/Makefile diff --git a/font/Makefile b/font/Makefile index 9a72ab0..b02a0a4 100644 --- a/font/Makefile +++ b/font/Makefile @@ -12,12 +12,21 @@ # commands will be interpreted with the Bourne Shell # SHELL = /bin/sh +INSTALL = install +GZFLAGS = -f -9 -n +FONTFORGE = fontforge # # assembly date of this version # -MAJORVERSION = 6.3 -DATE = 20131020 -VERSION = $(MAJORVERSION).$(DATE) +UNICODE_VERSION = 8.0 +PKG_REV = 01 +VERSION = $(UNICODE_VERSION).$(PKG_REV) + +COPYRIGHT = "Copyright (C) 2015 Roman Czyborra, Paul Hardy, Qianqian Fang, \ +Andrew Miller, et al. \ +Licensed under the GNU General Public License; either version 2, or \ +(at your option) a later version, with the GNU Font Embedding Exception." + # # Path to local unifont-bin utilities. If your system doesn't # use GNU's version of "make", use the first BINDIR definition. @@ -29,21 +38,27 @@ BINDIR = $(CURDIR)/../bin # The top-level directory for installing fonts on the system, # and the installation directories for PCF and TrueType fonts. # -FONTDEST = $(DESTDIR)/usr/share/fonts -PCFDEST = $(FONTDEST)/X11/misc -TTFDEST = $(FONTDEST)/truetype/unifont +CONSOLEDEST = $(DESTDIR)/usr/share/consolefonts +FONTDEST = $(DESTDIR)/usr/share/fonts +PCFDEST = $(FONTDEST)/X11/misc +TTFDEST = $(FONTDEST)/truetype/unifont # # destination directory for compiled fonts # COMPILED_DIR = compiled # -# destination directory for .bmp representation of font +# destination directory for .bmp or .png representation of font # BMPDIR = $(COMPILED_DIR)/bmp +PNGDIR = $(COMPILED_DIR)/png + +# Choose one graphics format or neither. +GRAPHICS=png +# GRAPHICS=bmp # # Directory with original unifont-$(VERSION).hex files # -HEXDIR = hexsrc +HEXDIR = plane00 # # These are the files for building GNU Unifont with the Qianqian Fang's # Wen Quan Yi CJK ideographs. This version provides complete coverage @@ -63,8 +78,8 @@ UNASSIGNED = $(HEXDIR)/unassigned.hex # users do want to print representations of these glyphs, so they are # included as an optional assignment. # -# NONPRINTING = $(HEXDIR)/nonprinting.hex -NONPRINTING = +NONPRINTING = $(HEXDIR)/nonprinting.hex +# NONPRINTING = # # Private Use Area glyphs. Uncomment to include four-digit hexadecimal glyphs @@ -83,41 +98,158 @@ SPACES = $(HEXDIR)/spaces.hex UNIFILES = $(UNIFONTBASE) $(CJK) $(HANGUL) $(SPACES) $(UNASSIGNED) \ $(NONPRINTING) $(PUA) +# +# Planes 1 through 14 (0x0E) are ordinary; +# Planes 15 (0x0F) and 16 (0x10) are Private Use Area +# +UPPER_FILES = plane0[1-E]/*.hex + +# +# Location of the file containing a list of Unicode combining characters. +# +COMBINING = plane00/bmp-combining.txt + +UPPER_COMBINING = plane0[0-E]/*combining*.txt + +VPATH = plane00 ttfsrc + # # Location of TTF source directory, where TTF font is built. # TTFSRC = ttfsrc -all: pcf bmp ttf bigpic coverage - cp -a index.html $(COMPILED_DIR)/index.html +all: compiled + +compiled: $(UNIFILES) $(COMBINING) $(UPPER_FILES) $(UPPER_COMBINING) + $(MAKE) compiled-files + +compiled-files: pcf psf $(GRAPHICS) ttf csurttf upperttf uppercsurttf \ + bigpic coverage + install -p index.html $(COMPILED_DIR)/index.html # # Build the aggregate .hex font files # -hex: distclean +hex: if [ ! -d $(COMPILED_DIR) ] ; then \ mkdir -p $(COMPILED_DIR) ; \ fi - sort $(UNIFILES) >$(COMPILED_DIR)/unifont-$(VERSION).hex - (cd $(HEXDIR) ; sort *.hex) >$(COMPILED_DIR)/unifontall-$(VERSION).hex + sort $(UNIFILES) > $(COMPILED_DIR)/unifont-$(VERSION).hex + (cd $(HEXDIR) && sort *.hex) | \ + egrep -v "^FFF[EF]" | \ + $(BINDIR)/unigencircles $(COMBINING) plane00/nonprinting.hex \ + > $(COMPILED_DIR)/unifont_sample-$(VERSION).hex + sort plane00csur/*.hex $(UNIFILES) \ + > $(COMPILED_DIR)/unifont_csur-$(VERSION).hex + sort $(UPPER_FILES) \ + > $(COMPILED_DIR)/unifont_upper-$(VERSION).hex + sort plane0[1-F]/*.hex plane0[1-F]csur/*.hex \ + > $(COMPILED_DIR)/unifont_upper_csur-$(VERSION).hex + sort $(UPPER_COMBINING) > $(COMPILED_DIR)/upper_combining.txt + sort plane0[1-F]/plane*-nonprinting.hex \ + > $(COMPILED_DIR)/upper_nonprinting.hex + sort plane0[1-F]/*.hex | egrep -v "^..FFF[EF]" | \ + $(BINDIR)/unigencircles $(COMPILED_DIR)/upper_combining.txt \ + $(COMPILED_DIR)/upper_nonprinting.hex \ + > $(COMPILED_DIR)/unifont_upper_sample-$(VERSION).hex + # Create a .hex file with all CSUR glyphs, without combining circles + sort plane??csur/*.hex \ + > $(COMPILED_DIR)/unifont_all_csur-$(VERSION).hex + # Create a .hex file with all CSUR glyphs, with combining circles + sort plane??csur/*combining.txt > $(COMPILED_DIR)/csur_combining.txt + $(BINDIR)/unigencircles \ + $(COMPILED_DIR)/csur_combining.txt \ + plane00/nonprinting.hex \ + < $(COMPILED_DIR)/unifont_all_csur-$(VERSION).hex \ + > $(COMPILED_DIR)/unifont_csur_sample-$(VERSION).hex # # Build a BDF font file from the final .hex file. # bdf: hex - $(BINDIR)/hex2bdf <$(COMPILED_DIR)/unifont-$(VERSION).hex \ - >$(COMPILED_DIR)/unifont-$(VERSION).bdf - gzip -f -9 <$(COMPILED_DIR)/unifont-$(VERSION).bdf \ + # First make the default BDF font. The font name will be "unifont". + $(BINDIR)/hex2bdf --version "$(VERSION)" --copyright $(COPYRIGHT) \ + $(COMPILED_DIR)/unifont-$(VERSION).hex \ + >$(COMPILED_DIR)/unifont-$(VERSION).bdf + gzip $(GZFLAGS) <$(COMPILED_DIR)/unifont-$(VERSION).bdf \ >$(COMPILED_DIR)/unifont-$(VERSION).bdf.gz + # Now make a version with combining circles. The font name + # will be "unifont_sample" instead of "unifont" to distinguish + # it from the default font. + $(BINDIR)/hex2bdf --font "Unifont Sample" \ + --version "$(VERSION)" --copyright $(COPYRIGHT) \ + $(COMPILED_DIR)/unifont_sample-$(VERSION).hex \ + > $(COMPILED_DIR)/unifont_sample-$(VERSION).bdf + gzip $(GZFLAGS) <$(COMPILED_DIR)/unifont_sample-$(VERSION).bdf \ + >$(COMPILED_DIR)/unifont_sample-$(VERSION).bdf.gz + # Font with ConScript Unicode Registry (CSUR) glyphs added + $(BINDIR)/hex2bdf --font "Unifont CSUR" \ + --version "$(VERSION)" --copyright $(COPYRIGHT) \ + $(COMPILED_DIR)/unifont_csur-$(VERSION).hex \ + > $(COMPILED_DIR)/unifont_csur-$(VERSION).bdf + gzip $(GZFLAGS) <$(COMPILED_DIR)/unifont_csur-$(VERSION).bdf \ + >$(COMPILED_DIR)/unifont_csur-$(VERSION).bdf.gz + # Font with glyphs above Plane 0 + $(BINDIR)/hex2bdf --font "Unifont Upper" \ + --version "$(VERSION)" --copyright $(COPYRIGHT) \ + $(COMPILED_DIR)/unifont_upper-$(VERSION).hex \ + > $(COMPILED_DIR)/unifont_upper-$(VERSION).bdf + gzip $(GZFLAGS) <$(COMPILED_DIR)/unifont_upper-$(VERSION).bdf \ + >$(COMPILED_DIR)/unifont_upper-$(VERSION).bdf.gz + # Font with glyphs above Plane 0 with CSUR glyphs above Plane 0 + $(BINDIR)/hex2bdf --font "Unifont Upper CSUR" \ + --version "$(VERSION)" --copyright $(COPYRIGHT) \ + $(COMPILED_DIR)/unifont_upper_csur-$(VERSION).hex \ + > $(COMPILED_DIR)/unifont_upper_csur-$(VERSION).bdf + gzip $(GZFLAGS) <$(COMPILED_DIR)/unifont_upper_csur-$(VERSION).bdf \ + >$(COMPILED_DIR)/unifont_upper_csur-$(VERSION).bdf.gz + # Font with glyphs above Plane 0 with combining circles added + $(BINDIR)/hex2bdf --font "Unifont Upper Sample" \ + --version "$(VERSION)" --copyright $(COPYRIGHT) \ + $(COMPILED_DIR)/unifont_upper_sample-$(VERSION).hex \ + > $(COMPILED_DIR)/unifont_upper_sample-$(VERSION).bdf + gzip $(GZFLAGS) <$(COMPILED_DIR)/unifont_upper_sample-$(VERSION).bdf \ + >$(COMPILED_DIR)/unifont_upper_sample-$(VERSION).bdf.gz # # Build a PCF font file from the final .hex file. # pcf: bdf bdftopcf <$(COMPILED_DIR)/unifont-$(VERSION).bdf \ - >$(COMPILED_DIR)/unifont-$(VERSION).pcf - gzip -f -9 $(COMPILED_DIR)/unifont-$(VERSION).pcf + >$(COMPILED_DIR)/unifont-$(VERSION).pcf + gzip $(GZFLAGS) $(COMPILED_DIR)/unifont-$(VERSION).pcf + bdftopcf <$(COMPILED_DIR)/unifont_sample-$(VERSION).bdf \ + >$(COMPILED_DIR)/unifont_sample-$(VERSION).pcf + gzip $(GZFLAGS) $(COMPILED_DIR)/unifont_sample-$(VERSION).pcf + bdftopcf <$(COMPILED_DIR)/unifont_csur-$(VERSION).bdf \ + >$(COMPILED_DIR)/unifont_csur-$(VERSION).pcf + gzip $(GZFLAGS) $(COMPILED_DIR)/unifont_csur-$(VERSION).pcf + + +# The following are removed from the pcf: target, as PCF fonts +# don't support glyphs above Plane 0. +# bdftopcf <$(COMPILED_DIR)/unifont_upper-$(VERSION).bdf \ +# >$(COMPILED_DIR)/unifont_upper-$(VERSION).pcf +# gzip $(GZFLAGS) $(COMPILED_DIR)/unifont_upper-$(VERSION).pcf +# bdftopcf <$(COMPILED_DIR)/unifont_upper_sample-$(VERSION).bdf \ +# >$(COMPILED_DIR)/unifont_upper_sample-$(VERSION).pcf +# gzip $(GZFLAGS) $(COMPILED_DIR)/unifont_upper_sample-$(VERSION).pcf +# bdftopcf <$(COMPILED_DIR)/unifont_upper_csur-$(VERSION).bdf \ +# >$(COMPILED_DIR)/unifont_upper_csur-$(VERSION).pcf +# gzip $(GZFLAGS) $(COMPILED_DIR)/unifont_upper_csur-$(VERSION).pcf + +# +# Make the PSF (console) font for APL (A Programming Language). +# +psf: bdf + bdf2psf --fb \ + $(COMPILED_DIR)/unifont-$(VERSION).bdf \ + psf/apl-equivalents.txt \ + psf/unifont-apl.txt \ + 512 \ + $(COMPILED_DIR)/Unifont-APL8x16-$(VERSION).psf + gzip $(GZFLAGS) $(COMPILED_DIR)/Unifont-APL8x16-$(VERSION).psf # # Print coverage of scripts in Basic Multilingual Plane in .txt file. @@ -142,30 +274,150 @@ coverage: pagecount: $(COMPILED_DIR)/unifont-$(VERSION).hex $(BINDIR)/unipagecount $(BINDIR)/unipagecount -l < $(COMPILED_DIR)/unifont-$(VERSION).hex \ > $(COMPILED_DIR)/pagecount.html + if [ x$(GRAPHICS) = xbmp ] ; then \ + sed -i 's/png/bmp/g' $(COMPILED_DIR)/plane00.html ; \ + fi # -# Create the .bmp (Windows Bitmap) graphics versions of the glyphs. +# Create the .png (Portable Network Graphics) versions of the glyphs. +# +png: hex $(BINDIR)/unihex2png + if [ ! -d $(PNGDIR) ] ; then \ + mkdir -p $(PNGDIR) ; \ + fi + if [ ! -d $(PNGDIR)/plane00 ] ; then \ + mkdir -p $(PNGDIR)/plane00 ; \ + fi + for i in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do \ + for j in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do \ + $(BINDIR)/unihex2png -p 00$$i$$j \ + -i $(COMPILED_DIR)/unifont_sample-$(VERSION).hex \ + -o $(PNGDIR)/plane00/uni00$$i$$j.png ; \ + done ; \ + done + if [ ! -d $(PNGDIR)/plane01 ] ; then \ + mkdir -p $(PNGDIR)/plane01 ; \ + fi + # Generate files in plane01/all directory to create PNG files. + (cd plane01 && make) + for i in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do \ + for j in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do \ + $(BINDIR)/unihex2png -p 01$$i$$j \ + -i plane01/all/plane01-all.hex \ + -o $(PNGDIR)/plane01/uni01$$i$$j.png ; \ + done ; \ + done + if [ ! -d $(PNGDIR)/plane0E ] ; then \ + mkdir -p $(PNGDIR)/plane0E ; \ + fi + for i in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do \ + for j in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do \ + $(BINDIR)/unihex2png -p 0E$$i$$j \ + -i $(COMPILED_DIR)/unifont_upper_sample-$(VERSION).hex \ + -o $(PNGDIR)/plane0E/uni0E$$i$$j.png ; \ + done ; \ + done + if [ ! -d $(PNGDIR)/csur ] ; then \ + mkdir -p $(PNGDIR)/csur ; \ + fi + for i in E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF \ + F0 F1 F2 F3 F4 F5 F6 F7 F8 ; do \ + $(BINDIR)/unihex2png -p 00$$i \ + -i $(COMPILED_DIR)/unifont_csur_sample-$(VERSION).hex \ + -o $(PNGDIR)/csur/uni00$$i.png ; \ + done + for i in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do \ + for j in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do \ + $(BINDIR)/unihex2png -p 0F$$i$$j \ + -i $(COMPILED_DIR)/unifont_csur_sample-$(VERSION).hex \ + -o $(PNGDIR)/csur/uni0F$$i$$j.png ; \ + done ; \ + done + # Create HTML table showing color-coded percent coverage in Plane 0. + $(BINDIR)/unipagecount -h < $(COMPILED_DIR)/unifont-$(VERSION).hex \ + > $(COMPILED_DIR)/plane00.html + # Create HTML table showing color-coded percent coverage in Plane 1. + ../bin/unipagecount -P1 -h < plane01/all/plane01-all.hex \ + > compiled/plane01.html + echo "Done creating $(PNGDIR)" + + +# +# Create the .bmp (Bitmap Graphics) versions of the glyphs. # bmp: hex $(BINDIR)/unihex2bmp if [ ! -d $(BMPDIR) ] ; then \ mkdir -p $(BMPDIR) ; \ fi + if [ ! -d $(BMPDIR)/plane00 ] ; then \ + mkdir -p $(BMPDIR)/plane00 ; \ + fi for i in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do \ for j in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do \ - $(BINDIR)/unihex2bmp -p$$i$$j \ - -i$(COMPILED_DIR)/unifontall-$(VERSION).hex \ - -o$(BMPDIR)/uni$$i$$j.bmp ; \ + $(BINDIR)/unihex2bmp -p00$$i$$j \ + < $(COMPILED_DIR)/unifont_sample-$(VERSION).hex \ + > $(BMPDIR)/plane00/uni00$$i$$j.bmp ; \ done ; \ - done ; \ + done + if [ ! -d $(BMPDIR)/plane01 ] ; then \ + mkdir -p $(BMPDIR)/plane01 ; \ + fi + # Generate files in plane01/all directory to create PNG files. + (cd plane01 && make) + for i in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do \ + for j in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do \ + $(BINDIR)/unihex2bmp -p01$$i$$j \ + < plane01/all/plane01-all.hex \ + > $(BMPDIR)/plane01/uni01$$i$$j.bmp ; \ + done ; \ + done + if [ ! -d $(BMPDIR)/plane0E ] ; then \ + mkdir -p $(BMPDIR)/plane0E ; \ + fi + for i in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do \ + for j in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do \ + $(BINDIR)/unihex2bmp -p0E$$i$$j \ + < $(COMPILED_DIR)/unifont_upper_sample-$(VERSION).hex \ + > $(BMPDIR)/plane0E/uni0E$$i$$j.bmp ; \ + done ; \ + done + if [ ! -d $(BMPDIR)/csur ] ; then \ + mkdir -p $(BMPDIR)/csur ; \ + fi + for i in E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF \ + F0 F1 F2 F3 F4 F5 F6 F7 F8 ; do \ + $(BINDIR)/unihex2bmp -p00$$i \ + < $(COMPILED_DIR)/unifont_csur_sample-$(VERSION).hex \ + > $(BMPDIR)/csur/uni00$$i.bmp ; \ + done + for i in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do \ + for j in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do \ + $(BINDIR)/unihex2bmp -p0F$$i$$j \ + < $(COMPILED_DIR)/unifont_csur_sample-$(VERSION).hex \ + > $(BMPDIR)/csur/uni0F$$i$$j.bmp ; \ + done ; \ + done + # Create HTML table showing color-coded percent coverage in Plane 0. + $(BINDIR)/unipagecount -h < $(COMPILED_DIR)/unifont-$(VERSION).hex \ + > $(COMPILED_DIR)/plane00.html + sed -i 's/png/bmp/g' $(COMPILED_DIR)/plane00.html ; \ + # Create HTML table showing color-coded percent coverage in Plane 01. + ../bin/unipagecount -P1 -h < plane01/all/plane01-all.hex \ + > $(COMPILED_DIR)/plane01.html + sed -i 's/png/bmp/g' $(COMPILED_DIR)/plane01.html ; \ echo "Done creating $(BMPDIR)" + # # Build one bitmap of the entire Unifont as a 4096 x 16 grid. -# -bigpic: $(COMPILED_DIR)/unifontall-$(VERSION).hex - $(BINDIR)/unigencircles ttfsrc/combining.txt hexsrc/nonprinting.hex \ - < $(COMPILED_DIR)/unifontall-$(VERSION).hex | \ - $(BINDIR)/unifontpic -d120 > $(COMPILED_DIR)/unifont-$(VERSION).bmp +# Use all the .hex files in $(HEXDIR) so we add the contents of +# omit.hex (FFFE & FFFF). Those two glyphs aren't included in the +# unifont_sample font because they cause problems with MS Windows, +# but we can put them in the picture. +# +bigpic: $(COMPILED_DIR)/unifont_sample-$(VERSION).hex + sort -u $(HEXDIR)/*.hex | \ + $(BINDIR)/unifontpic -d120 > $(COMPILED_DIR)/unifont-$(VERSION).bmp # # Note that $(TTFSRC) must exist, because it contains some source files @@ -175,27 +427,133 @@ bigpic: $(COMPILED_DIR)/unifontall-$(VERSION).hex # ttf: - cp $(COMPILED_DIR)/unifont-$(VERSION).hex $(TTFSRC)/unifont.hex - cd $(TTFSRC) ; make && make clean - mv $(TTFSRC)/unifont.sfd $(COMPILED_DIR)/unifont.sfd - mv $(TTFSRC)/unifont.ttf $(COMPILED_DIR)/unifont-$(VERSION).ttf - gzip -f -9 $(COMPILED_DIR)/unifont.sfd + # First, copy the ordinary version, to make a TrueType font. + install -p \ + $(COMPILED_DIR)/unifont-$(VERSION).hex \ + $(TTFSRC)/unifont.hex + install -p \ + $(HEXDIR)/bmp-combining.txt \ + $(TTFSRC)/combining.txt + cd $(TTFSRC) && \ + $(MAKE) FONTFILE="unifont" COMBINING="combining" \ + FONTNAME="Unifont" PSNAME="Unifont" + mv $(TTFSRC)/unifont.sfd $(COMPILED_DIR)/unifont-$(VERSION).sfd + mv $(TTFSRC)/unifont.ttf \ + $(COMPILED_DIR)/unifont-$(VERSION).ttf + # Second, copy unifont_sample.bdf, to make an SBIT font. + install -p \ + $(COMPILED_DIR)/unifont_sample-$(VERSION).bdf \ + $(TTFSRC)/unifont_sample.bdf + cd $(TTFSRC) && \ + $(MAKE) sbit FONTFILE="unifont_sample" COMBINING="" \ + FONTNAME="Unifont Sample" PSNAME="UnifontSample" + mv $(TTFSRC)/unifont_sample.ttf \ + $(COMPILED_DIR)/unifont_sample-$(VERSION).ttf + +# +# Now build the ConScript Unicode Registry PUA font. +# +csurttf: + install -p \ + $(COMPILED_DIR)/unifont_csur-$(VERSION).hex \ + $(TTFSRC)/unifont_csur.hex + sort -u plane00csur/csur-combining.txt $(HEXDIR)/bmp-combining.txt \ + > $(TTFSRC)/combining_csur.txt + cd $(TTFSRC) && \ + $(MAKE) outline FONTFILE="unifont_csur" COMBINING="combining_csur" \ + FONTNAME="Unifont CSUR" PSNAME="UnifontCSUR" + mv $(TTFSRC)/unifont_csur.sfd \ + $(COMPILED_DIR)/unifont_csur-$(VERSION).sfd + mv $(TTFSRC)/unifont_csur.ttf \ + $(COMPILED_DIR)/unifont_csur-$(VERSION).ttf + gzip $(GZFLAGS) $(COMPILED_DIR)/unifont_csur-$(VERSION).sfd + +# +# Now build the ConScript Unicode Registry PUA font. +# +upperttf: + # First, copy the ordinary version, to make a TrueType font. + install -p \ + $(COMPILED_DIR)/unifont_upper-$(VERSION).hex \ + $(TTFSRC)/unifont_upper.hex + sort -u $(UPPER_COMBINING) > $(TTFSRC)/combining_upper.txt + cd $(TTFSRC) && \ + $(MAKE) outline FONTFILE="unifont_upper" COMBINING="combining_upper" \ + FONTNAME="Unifont Upper" PSNAME="UnifontUpper" + mv $(TTFSRC)/unifont_upper.sfd \ + $(COMPILED_DIR)/unifont_upper-$(VERSION).sfd + mv $(TTFSRC)/unifont_upper.ttf \ + $(COMPILED_DIR)/unifont_upper-$(VERSION).ttf + gzip $(GZFLAGS) $(COMPILED_DIR)/unifont_upper-$(VERSION).sfd + # Second, copy unifont_upper_sample.bdf, to make an SBIT font. + install -p \ + $(COMPILED_DIR)/unifont_upper_sample-$(VERSION).bdf \ + $(TTFSRC)/unifont_upper_sample.bdf + cd $(TTFSRC) && \ + $(MAKE) sbit FONTFILE="unifont_upper_sample" COMBINING="" \ + FONTNAME="Unifont Upper Sample" PSNAME="UnifontUpperSample" + mv $(TTFSRC)/unifont_upper_sample.ttf \ + $(COMPILED_DIR)/unifont_upper_sample-$(VERSION).ttf + + + +# +# ConScript Unicode Registry PUA font beyond Plane 0. +# +uppercsurttf: + install -p \ + $(COMPILED_DIR)/unifont_upper_csur-$(VERSION).hex \ + $(TTFSRC)/unifont_upper_csur.hex + sort -u plane0[1-F]/*combining*.txt plane0[1-F]csur/*combining*.txt \ + > $(TTFSRC)/combining_upper_csur.txt + cd $(TTFSRC) && \ + $(MAKE) outline FONTFILE="unifont_upper_csur" COMBINING="combining_upper_csur" \ + FONTNAME="Unifont Upper CSUR" PSNAME="UnifontUpperCSUR" + mv $(TTFSRC)/unifont_upper_csur.sfd \ + $(COMPILED_DIR)/unifont_upper_csur-$(VERSION).sfd + mv $(TTFSRC)/unifont_upper_csur.ttf \ + $(COMPILED_DIR)/unifont_upper_csur-$(VERSION).ttf + gzip $(GZFLAGS) $(COMPILED_DIR)/unifont_upper_csur-$(VERSION).sfd +# # # Copy the newly created files from $(COMPILED_DIR) to the precompiled/ # directory. This has to be called manually, because the precompiled/ # directory usually remains untouched. # -precompiled: +precompiled: all + \rm -rf precompiled + install -m0755 -d precompiled install -m0644 -p $(COMPILED_DIR)/unifont-$(VERSION).hex \ - $(COMPILED_DIR)/unifontall-$(VERSION).hex \ $(COMPILED_DIR)/unifont-$(VERSION).bdf.gz \ $(COMPILED_DIR)/unifont-$(VERSION).pcf.gz \ + $(COMPILED_DIR)/Unifont-APL8x16-$(VERSION).psf.gz \ $(COMPILED_DIR)/unifont-$(VERSION).ttf \ + $(COMPILED_DIR)/unifont_csur-$(VERSION).pcf.gz \ + $(COMPILED_DIR)/unifont_csur-$(VERSION).ttf \ + $(COMPILED_DIR)/unifont_sample-$(VERSION).hex \ + $(COMPILED_DIR)/unifont_sample-$(VERSION).bdf.gz \ + $(COMPILED_DIR)/unifont_sample-$(VERSION).pcf.gz \ + $(COMPILED_DIR)/unifont_sample-$(VERSION).ttf \ $(COMPILED_DIR)/coverage.txt \ $(COMPILED_DIR)/unifont-$(VERSION).bmp \ + $(COMPILED_DIR)/unifont_upper-$(VERSION).hex \ + $(COMPILED_DIR)/unifont_upper-$(VERSION).ttf \ + $(COMPILED_DIR)/unifont_upper_sample-$(VERSION).hex \ + $(COMPILED_DIR)/unifont_upper_sample-$(VERSION).ttf \ + $(COMPILED_DIR)/unifont_upper_csur-$(VERSION).hex \ + $(COMPILED_DIR)/unifont_upper_csur-$(VERSION).ttf \ precompiled +# Removed from the "precompiled" target above: +# $(COMPILED_DIR)/unifont_upper-$(VERSION).bdf.gz \ +# $(COMPILED_DIR)/unifont_upper-$(VERSION).pcf.gz \ +# $(COMPILED_DIR)/unifont_upper_sample-$(VERSION).bdf.gz \ +# $(COMPILED_DIR)/unifont_upper_sample-$(VERSION).pcf.gz \ +# $(COMPILED_DIR)/unifont_upper_csur-$(VERSION).bdf.gz \ +# $(COMPILED_DIR)/unifont_upper_csur-$(VERSION).pcf.gz \ +# + # # This is set up for Debian. Solaris places fonts in # "/usr/share/fonts/TrueType". Other unices use other directories. @@ -218,21 +576,38 @@ install: echo "Fatal Error: CURDIR not defined -- define in Makefile." ; \ exit 1 ; \ fi - install -m0755 -d $(PCFDEST) - install -m0755 -d $(TTFDEST) + $(INSTALL) -m0755 -d $(CONSOLEDEST) + $(INSTALL) -m0755 -d $(PCFDEST) + $(INSTALL) -m0755 -d $(TTFDEST) if [ ! -d $(COMPILED_DIR) ] ; then \ - install -m0644 -p $(CURDIR)/precompiled/unifont-$(VERSION).pcf.gz $(PCFDEST)/unifont.pcf.gz ; \ - install -m0644 -p $(CURDIR)/precompiled/unifont-$(VERSION).ttf $(TTFDEST)/unifont.ttf ; \ + $(INSTALL) -m0644 -p $(CURDIR)/precompiled/Unifont-APL8x16-$(VERSION).psf.gz $(CONSOLEDEST)/Unifont-APL8x16.psf.gz ; \ + $(INSTALL) -m0644 -p $(CURDIR)/precompiled/unifont-$(VERSION).pcf.gz $(PCFDEST)/unifont.pcf.gz ; \ + $(INSTALL) -m0644 -p $(CURDIR)/precompiled/unifont_sample-$(VERSION).pcf.gz $(PCFDEST)/unifont_sample.pcf.gz ; \ + $(INSTALL) -m0644 -p $(CURDIR)/precompiled/unifont_csur-$(VERSION).pcf.gz $(PCFDEST)/unifont_csur.pcf.gz ; \ + $(INSTALL) -m0644 -p $(CURDIR)/precompiled/unifont-$(VERSION).ttf $(TTFDEST)/unifont.ttf ; \ + $(INSTALL) -m0644 -p $(CURDIR)/precompiled/unifont_sample-$(VERSION).ttf $(TTFDEST)/unifont_sample.ttf ; \ + $(INSTALL) -m0644 -p $(CURDIR)/precompiled/unifont_csur-$(VERSION).ttf $(TTFDEST)/unifont_csur.ttf ; \ + $(INSTALL) -m0644 -p $(CURDIR)/precompiled/unifont_upper-$(VERSION).ttf $(TTFDEST)/unifont_upper.ttf ; \ + $(INSTALL) -m0644 -p $(CURDIR)/precompiled/unifont_upper_csur-$(VERSION).ttf $(TTFDEST)/unifont_upper_csur.ttf ; \ else \ - install -m0644 -p $(CURDIR)/$(COMPILED_DIR)/unifont-$(VERSION).pcf.gz $(PCFDEST)/unifont.pcf.gz ; \ - install -m0644 -p $(CURDIR)/$(COMPILED_DIR)/unifont-$(VERSION).ttf $(TTFDEST)/unifont.ttf ; \ + $(INSTALL) -m0644 -p $(CURDIR)/$(COMPILED_DIR)/Unifont-APL8x16-$(VERSION).psf.gz $(CONSOLEDEST)/Unifont-APL8x16.psf.gz ; \ + $(INSTALL) -m0644 -p $(CURDIR)/$(COMPILED_DIR)/unifont-$(VERSION).pcf.gz $(PCFDEST)/unifont.pcf.gz ; \ + $(INSTALL) -m0644 -p $(CURDIR)/$(COMPILED_DIR)/unifont_sample-$(VERSION).pcf.gz $(PCFDEST)/unifont_sample.pcf.gz ; \ + $(INSTALL) -m0644 -p $(CURDIR)/$(COMPILED_DIR)/unifont_csur-$(VERSION).pcf.gz $(PCFDEST)/unifont_csur.pcf.gz ; \ + $(INSTALL) -m0644 -p $(CURDIR)/$(COMPILED_DIR)/unifont-$(VERSION).ttf $(TTFDEST)/unifont.ttf ; \ + $(INSTALL) -m0644 -p $(CURDIR)/$(COMPILED_DIR)/unifont_sample-$(VERSION).ttf $(TTFDEST)/unifont_sample.ttf ; \ + $(INSTALL) -m0644 -p $(CURDIR)/$(COMPILED_DIR)/unifont_csur-$(VERSION).ttf $(TTFDEST)/unifont_csur.ttf ; \ + $(INSTALL) -m0644 -p $(CURDIR)/$(COMPILED_DIR)/unifont_upper-$(VERSION).ttf $(TTFDEST)/unifont_upper.ttf ; \ + $(INSTALL) -m0644 -p $(CURDIR)/$(COMPILED_DIR)/unifont_upper_csur-$(VERSION).ttf $(TTFDEST)/unifont_upper_csur.ttf ; \ fi clean: - \rm -rf $(COMPILED_DIR)/bmp + \rm -rf $(COMPILED_DIR)/png \rm -f $(COMPILED_DIR)/unifont-$(VERSION).hex \rm -f $(COMPILED_DIR)/unifont-$(VERSION).bdf \rm -f $(COMPILED_DIR)/unifont-$(VERSION).bdf.gz + \rm -f $(COMPILED_DIR)/unifont-$(VERSION).sfd.gz + \rm -f *~ # # Note that distclean leaves precompiled/ alone. This is intentional. @@ -240,7 +615,11 @@ clean: # distclean: \rm -rf $(COMPILED_DIR) + $(MAKE) -C plane01 distclean $(MAKE) -C ttfsrc distclean + \rm -f *~ \rm -rf .DS* ._.DS* -.PHONY: all hex bdf pcf coverage pagecount bmp bigpic ttf precompiled install clean distclean +.PHONY: all hex bdf pcf coverage pagecount png bigpic csurttf upper ttf \ + precompiled install clean distclean +