unifont-7.0.06.tar.gz
authorPaul Hardy <unifoundry@unifoundry.com>
Thu, 23 Oct 2014 23:41:50 +0000 (23:41 +0000)
committerMischa POSLAWSKY <perl@shiar.org>
Thu, 16 Jul 2015 01:49:43 +0000 (01:49 +0000)
* Makefiles:
  - Updated version to 7.0.06.
  - Added "GZFLAGS = -f -9 -n" to use with gzip in all cases.
  - Changed ';' to "&&" for multiple shell commands, to fail if
    a preceding step caused an error.
  - Use "install -s" instead of "install" on C binaries.
* Makefile: regenerated .PHONY: target entries.
* font/Makefile:
  - Added GRAPHICS declaration, settable to "png" or "bmp" depending
    on the type of Unifont font pages desired.  The default is set
    to "png".
  - Added bmp: target to create bitmapped graphics (.bmp) images of
    Unifont.
  - Create font/compiled/plane00.html along with
    font/compiled/plane01.html in "png" and "bmp" targets.
* font/plane01/plane01.hex:
  - Added one glyph inadvertently omitted from Old Italic:
    U+01031F (Paul Hardy).
  - Improved animals in U+01F400..U+01F43F (Nils Dagsson Moskopp).
  - Added more scripts:
     U+010350..U+01037F Old Permic (Paul Hardy)
     U+01F650..U+01F67F Ornamental Dingbats (Paul Hardy)
     U+01F780..U+01F7FF Geometric Shapes Extended (Paul Hardy)
     U+01F800..U+01F8FF Supplemental Arrows-C (Paul Hardy)
  - Emoticons (Paul Hardy)
     U+01F608: made horns look more like horns
* src/: in all Perl scripts, added "or die" for open, close, and
  print system calls.  Made some error messages more descriptive.
* src/Makefile: Changed CFLAGS parameter "-O" to explicitly be "-O2".
* src/unihexfill: added "set -e" at beginning of bash script.

23 files changed:
ChangeLog
Makefile
NEWS
font/Makefile
font/plane01/Makefile
font/plane01/plane01.hex
font/ttfsrc/Makefile
hangul/Makefile
man/Makefile
src/Makefile
src/bdfimplode
src/hex2bdf
src/hex2sfd
src/hexbraille
src/hexkinya
src/hexmerge
src/johab2ucs2
src/unifont-viewer
src/unifontchojung
src/unifontksx
src/unihex2png
src/unihexfill
src/unipng2hex

index 8a0eb960dc905b9c96b8798b8e02c556e4775a6c..c04eb053b9054cb187f666e68af2017fc6012fc9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,38 @@
-2014-10-17 Paul Hardy <unifoundry@unifoundry.com>
+2014-10-23 Paul Hardy <unifoundry@unifoundry.com>
+
+       * Version: 7.0.06.
+       * Makefiles:
+         - Updated version to 7.0.06.
+         - Added "GZFLAGS = -f -9 -n" to use with gzip in all cases.
+         - Changed ';' to "&&" for multiple shell commands, to fail if
+           a preceding step caused an error.
+         - Use "install -s" instead of "install" on C binaries.
+       * Makefile: regenerated .PHONY: target entries.
+       * font/Makefile:
+         - Added GRAPHICS declaration, settable to "png" or "bmp" depending
+           on the type of Unifont font pages desired.  The default is set
+           to "png".
+         - Added bmp: target to create bitmapped graphics (.bmp) images of
+           Unifont.
+         - Create font/compiled/plane00.html along with
+           font/compiled/plane01.html in "png" and "bmp" targets.
+       * font/plane01/plane01.hex:
+          - Added one glyph inadvertently omitted from Old Italic:
+            U+01031F (Paul Hardy).
+          - Improved animals in U+01F400..U+01F43F (Nils Dagsson Moskopp).
+         - Added more scripts:
+            U+010350..U+01037F Old Permic (Paul Hardy)
+            U+01F650..U+01F67F Ornamental Dingbats (Paul Hardy)
+            U+01F780..U+01F7FF Geometric Shapes Extended (Paul Hardy)
+            U+01F800..U+01F8FF Supplemental Arrows-C (Paul Hardy)
+         - Emoticons (Paul Hardy)
+            U+01F608: made horns look more like horns
+       * src/: in all Perl scripts, added "or die" for open, close, and
+         print system calls.  Made some error messages more descriptive.
+       * src/Makefile: Changed CFLAGS parameter "-O" to explicitly be "-O2".
+       * src/unihexfill: added "set -e" at beginning of bash script.
+
+2014-10-17 Paul Hardy <unifoundry@unifoundry.com>
 
        * Version: 7.0.05.
        * ChangeLog: updated list of Plane 1 scripts added in 7.0.04 entry.
index a8c37a1020d6ca939c24c284da85136497e0c6cf..9e6b121d8f24c9ae6c05ef3598c0afce167bab58 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -8,10 +8,11 @@
 #
 SHELL = /bin/sh
 INSTALL = install
+GZFLAGS = -f -9 -n
 
 PACKAGE = "unifont"
 UNICODE_VERSION = 7.0
-PKG_REV = 05
+PKG_REV = 06
 VERSION = $(UNICODE_VERSION).$(PKG_REV)
 
 #
@@ -52,11 +53,11 @@ all: bindir libdir docdir buildfont
 # Build a distribution tarball.
 #
 dist: distclean
-       (cd .. ; tar cf $(PACKAGE)-$(VERSION).tar $(PACKAGE)-$(VERSION) && \
-               gzip -f -9 $(PACKAGE)-$(VERSION).tar)
+       (cd .. && tar cf $(PACKAGE)-$(VERSION).tar $(PACKAGE)-$(VERSION) && \
+               gzip $(GZFLAGS) $(PACKAGE)-$(VERSION).tar)
 
 bindir:
-       set -e ; $(MAKE) -C src
+       set -e && $(MAKE) -C src
 
 #
 # Conditionally build the font, depending on the value of BUILDFONT.
@@ -65,7 +66,7 @@ bindir:
 buildfont:
        if [ x$(BUILDFONT) != x ] ; \
         then \
-           set -e ; $(MAKE) -C font ; \
+           set -e && $(MAKE) -C font ; \
         fi
 
 #
@@ -73,18 +74,18 @@ buildfont:
 # font/precompiled by default.
 #
 fontdir:
-       set -e ; $(MAKE) -C font
+       set -e && $(MAKE) -C font
 
 libdir: lib/wchardata.c
 
 docdir:
-       set -e ; $(MAKE) -C doc
+       set -e && $(MAKE) -C doc
 
 mandir:
-       set -e ; $(MAKE) -C man
+       set -e && $(MAKE) -C man
 
 precompiled:
-       set -e ; $(MAKE) precompiled -C font
+       set -e && $(MAKE) precompiled -C font
 
 #
 # Create lib/wchardata.c.  If you want to also build the object file
@@ -104,16 +105,16 @@ install: bindir libdir docdir
        $(INSTALL) -m0755 -d $(PKGDEST)
        $(INSTALL) -m0644 -p $(TEXTFILES) doc/unifont.txt doc/unifont.info $(PKGDEST)
        for i in $(TEXTFILES) unifont.txt unifont.info ; do \
-          gzip -f -9 $(PKGDEST)/$$i ; \
+          gzip $(GZFLAGS) $(PKGDEST)/$$i ; \
        done
        $(INSTALL) -m0644 -p lib/wchardata.c $(PKGDEST)
        $(INSTALL) -m0644 -p font/plane00/bmp-combining.txt $(PKGDEST)
        # If "make" wasn't run before, font/compiled won't exist.
        if [ ! -d font/compiled ] ; then \
-          $(INSTALL) -m0644 -p font/precompiled/unifont-$(VERSION).hex   $(PKGDEST)/unifont.hex ; \
+          $(INSTALL) -m0644 -p font/precompiled/unifont-$(VERSION).hex   $(PKGDEST)/unifont.hex && \
           $(INSTALL) -m0644 -p font/precompiled/unifont-$(VERSION).bmp $(PKGDEST)/unifont.bmp ; \
        else \
-          $(INSTALL) -m0644 -p font/compiled/unifont-$(VERSION).hex   $(PKGDEST)/unifont.hex ; \
+          $(INSTALL) -m0644 -p font/compiled/unifont-$(VERSION).hex   $(PKGDEST)/unifont.hex && \
           $(INSTALL) -m0644 -p font/compiled/unifont-$(VERSION).bmp $(PKGDEST)/unifont.bmp ; \
        fi
 
@@ -137,4 +138,4 @@ distclean:
        \rm -rf *~
        \rm -rf .DS* ._.DS*
 
-.PHONY: all bindir docdir mandir fontdir precompiled install clean distclean
+.PHONY: all dist bindir buildfont fontdir libdir docdir mandir precompiled install clean distclean
diff --git a/NEWS b/NEWS
index 01588e50e48d41eb7cb21fe4cea0ead19a5c5952..47b358d00c03722626868a87fcd6bd59f21aba12 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,24 @@
+2014-10-23: Release 7.0.06
+
+   A few new scripts were added:
+      U+010350..U+01037F Old Permic
+      U+01F650..U+01F67F Ornamental Dingbats
+      U+01F780..U+01F7FF Geometrical Shapes Extended
+      U+01F800..U+01F8FF Supplemental Arrows-C
+
+   Various changes were made to Makefiles, Perl scripts, and one bash
+   shell script to conform to Debian Policy Manual version 3.9.6.
+
+   Several changes were made to Makefiles:
+      * Use "set -e" at the start of multi-command shell invocations,
+        to trap errors.
+      * Use "&&" rather than ";" in multi-command shell invocations,
+        to fail on errors.
+      * install now uses "-s" flag for C program binaries.
+
+   Other minor changes were made to scripts; see ChangeLog
+   for details.
+
 2014-10-17: Release 7.0.05
 
    Modified ASCII letter 'l' so it would have the same height as
index 5bb7c48f262361a51b2c6da17a93c0c98248cf4d..00efbd0c10bc44d6e5321163b557d51b46d3c346 100644 (file)
 #
 SHELL = /bin/sh
 INSTALL = install
+GZFLAGS = -f -9 -n
 FONTFORGE = fontforge
 #
 # assembly date of this version
 #
 UNICODE_VERSION = 7.0
-PKG_REV = 05
+PKG_REV = 06
 VERSION = $(UNICODE_VERSION).$(PKG_REV)
 
 COPYRIGHT = "Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, \
@@ -46,9 +47,14 @@ TTFDEST     = $(FONTDEST)/truetype/unifont
 #
 COMPILED_DIR = compiled
 #
-# destination directory for .png 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
 #
@@ -118,7 +124,7 @@ all: compiled
 compiled: $(UNIFILES) $(COMBINING) $(UPPER_FILES) $(UPPER_COMBINING)
        $(MAKE) compiled-files
 
-compiled-files: pcf psf png ttf csurttf upperttf uppercsurttf bigpic coverage
+compiled-files: pcf psf $(GRAPHICS) ttf csurttf upperttf uppercsurttf bigpic coverage
        install -p index.html $(COMPILED_DIR)/index.html
 
 #
@@ -129,7 +135,7 @@ hex: distclean
           mkdir -p $(COMPILED_DIR) ; \
        fi
        sort $(UNIFILES) > $(COMPILED_DIR)/unifont-$(VERSION).hex
-       (cd $(HEXDIR) ; sort *.hex) | \
+       (cd $(HEXDIR) && sort *.hex) | \
          egrep -v "^FFF[EF]" | \
           $(BINDIR)/unigencircles $(COMBINING) plane00/nonprinting.hex \
           > $(COMPILED_DIR)/unifont_sample-$(VERSION).hex
@@ -165,7 +171,7 @@ bdf: hex
        $(BINDIR)/hex2bdf --version "$(VERSION)" --copyright $(COPYRIGHT) \
           $(COMPILED_DIR)/unifont-$(VERSION).hex \
           >$(COMPILED_DIR)/unifont-$(VERSION).bdf
-       gzip -f -9 <$(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
@@ -174,35 +180,35 @@ bdf: hex
           --version "$(VERSION)" --copyright $(COPYRIGHT) \
             $(COMPILED_DIR)/unifont_sample-$(VERSION).hex \
           > $(COMPILED_DIR)/unifont_sample-$(VERSION).bdf
-       gzip -f -9 <$(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 -f -9 <$(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 -f -9 <$(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 -f -9 <$(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 -f -9 <$(COMPILED_DIR)/unifont_upper_sample-$(VERSION).bdf \
+       gzip $(GZFLAGS) <$(COMPILED_DIR)/unifont_upper_sample-$(VERSION).bdf \
                   >$(COMPILED_DIR)/unifont_upper_sample-$(VERSION).bdf.gz
 
 #
@@ -211,22 +217,22 @@ bdf: hex
 pcf: bdf
        bdftopcf <$(COMPILED_DIR)/unifont-$(VERSION).bdf \
                 >$(COMPILED_DIR)/unifont-$(VERSION).pcf
-       gzip -f -9 $(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 -f -9 $(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 -f -9 $(COMPILED_DIR)/unifont_csur-$(VERSION).pcf
+       gzip $(GZFLAGS) $(COMPILED_DIR)/unifont_csur-$(VERSION).pcf
        bdftopcf <$(COMPILED_DIR)/unifont_upper-$(VERSION).bdf \
                 >$(COMPILED_DIR)/unifont_upper-$(VERSION).pcf
-       gzip -f -9 $(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 -f -9 $(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 -f -9 $(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).
@@ -238,7 +244,7 @@ psf: bdf
           psf/unifont-apl.txt \
           512 \
           $(COMPILED_DIR)/Unifont-APL8x16-$(VERSION).psf
-       gzip -f -9 $(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.
@@ -263,6 +269,9 @@ 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 .png (Portable Network Graphics) versions of the glyphs.
@@ -285,7 +294,7 @@ png: hex $(BINDIR)/unihex2png
           mkdir -p $(PNGDIR)/plane01 ; \
        fi
        # Generate files in plane01/all directory to create PNG files.
-       (cd plane01 ; make)
+       (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 \
@@ -319,11 +328,81 @@ png: hex $(BINDIR)/unihex2png
                 -o $(PNGDIR)/csur/uni0F$$i$$j.png ; \
           done ; \
        done
-       # Create HTML table showing color-coded percent coverage in Plane 01.
+       # 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 -p00$$i$$j \
+                < $(COMPILED_DIR)/unifont_sample-$(VERSION).hex \
+                > $(BMPDIR)/plane00/uni00$$i$$j.bmp ; \
+          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.
 # Use all the .hex files in $(HEXDIR) so we add the contents of
@@ -350,7 +429,7 @@ ttf:
        install -p \
                $(HEXDIR)/bmp-combining.txt \
                $(TTFSRC)/combining.txt
-       cd $(TTFSRC) ; \
+       cd $(TTFSRC) && \
           $(MAKE) FONTFILE="unifont" COMBINING="combining" \
                FONTNAME="Unifont" PSNAME="Unifont"
        mv $(TTFSRC)/unifont.sfd $(COMPILED_DIR)/unifont-$(VERSION).sfd 
@@ -360,7 +439,7 @@ ttf:
        install -p \
                $(COMPILED_DIR)/unifont_sample-$(VERSION).bdf \
                $(TTFSRC)/unifont_sample.bdf
-       cd $(TTFSRC) ; \
+       cd $(TTFSRC) && \
           $(MAKE) sbit FONTFILE="unifont_sample" COMBINING="" \
                FONTNAME="Unifont Sample" PSNAME="UnifontSample"
        mv $(TTFSRC)/unifont_sample.ttf \
@@ -375,14 +454,14 @@ csurttf:
                $(TTFSRC)/unifont_csur.hex
        sort -u plane00csur/csur-combining.txt $(HEXDIR)/bmp-combining.txt \
                > $(TTFSRC)/combining_csur.txt
-       cd $(TTFSRC) ; \
+       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 -f -9 $(COMPILED_DIR)/unifont_csur-$(VERSION).sfd 
+       gzip $(GZFLAGS) $(COMPILED_DIR)/unifont_csur-$(VERSION).sfd 
 
 #
 # Now build the ConScript Unicode Registry PUA font.
@@ -393,19 +472,19 @@ upperttf:
                $(COMPILED_DIR)/unifont_upper-$(VERSION).hex \
                $(TTFSRC)/unifont_upper.hex
        sort -u $(UPPER_COMBINING) > $(TTFSRC)/combining_upper.txt
-       cd $(TTFSRC) ; \
+       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 -f -9 $(COMPILED_DIR)/unifont_upper-$(VERSION).sfd 
+       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) ; \
+       cd $(TTFSRC) && \
           $(MAKE) sbit FONTFILE="unifont_upper_sample" COMBINING="" \
                FONTNAME="Unifont Upper Sample" PSNAME="UnifontUpperSample"
        mv $(TTFSRC)/unifont_upper_sample.ttf \
@@ -422,14 +501,14 @@ uppercsurttf:
                $(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) ; \
+       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 -f -9 $(COMPILED_DIR)/unifont_upper_csur-$(VERSION).sfd 
+       gzip $(GZFLAGS) $(COMPILED_DIR)/unifont_upper_csur-$(VERSION).sfd 
 
 #
 #
@@ -535,3 +614,4 @@ distclean:
 
 .PHONY: all hex bdf pcf coverage pagecount png bigpic csurttf upper ttf \
        precompiled install clean distclean 
+
index 0858df6b88e372194b2a2cc5af25c64ddedfd344..cc53a35b544a21e93d075ac47ce7c22f3f1a5253 100644 (file)
@@ -9,11 +9,13 @@ all: plane01.hex plane01-nonprinting.hex plane01-unassigned.hex
        if [ ! -d all ]; then \
                mkdir all; \
        fi
-       grep "^[0-9A-Fa-f]" unassigned-ranges.txt | \
+       set -e && \
+          grep "^[0-9A-Fa-f]" unassigned-ranges.txt | \
           awk 'NF == 1 {print "../../bin/unihexgen " $$1 " " $$1;} \
                NF == 2 {print "../../bin/unihexgen " $$1 " " $$2;}' | \
           /bin/sh -s > plane01-unassigned.hex
-       grep "^[0-9A-Fa-f]" noscript-ranges.txt | \
+       set -e && \
+          grep "^[0-9A-Fa-f]" noscript-ranges.txt | \
           awk 'NF == 1 {print "../../bin/unihexgen " $$1 " " $$1;} \
                NF == 2 {print "../../bin/unihexgen " $$1 " " $$2;}' | \
           /bin/sh -s > all/noscript.hex
index f9b4f6b7a10d377a3ca979aedcdea5aced9bcbbe..c8f35941960c307108ce877a6d9343d6de099607 100644 (file)
 01031C:0000000020202020302C22222C300000
 01031D:00000000040404043C04040404040000
 01031E:00000000414949222222141408080000
+01031F:000000000808492A1C081C2A49080000
 010320:00000000080808080808080808080000
 010321:00000000080814142222224141410000
 010322:00000000004122140814224100000000
 010348:0000000000000C12212D2D21120C0000
 010349:000000000000001C2222221408360000
 01034A:00000000081C2A490808080808080000
+010350:000000007E424404090A1C1830200000
+010351:0000000008080808083E494949360000
+010352:000000003F4949280808080808080000
+010353:00000000040404081028444241210000
+010354:00000000020202444448704040400000
+010355:00000000FE9292929292929291910000
+010356:00000000FE929292929292919FF00000
+010357:00000000063A2222224242425A660000
+010358:00000000001008080810101010080000
+010359:000000007E4242420404040404020000
+01035A:00000000040A08081010107E42420000
+01035B:00000000404022221214080804040000
+01035C:00000000000000008E8A525222210000
+01035D:0000000000000042A222141408080000
+01035E:0000000040404C724240404040400000
+01035F:000000004040405E6202040408080000
+010360:000000007F4141424222241414080000
+010361:00000000605040404020201214080000
+010362:000000003F41492808080808493E0000
+010363:00000000444A4A525060404040400000
+010364:000000000201010101120A0418E08000
+010365:0000000C12122C282844444482820000
+010366:00000000919192929292929292FE0000
+010367:00000000F090909010101010101E0000
+010368:00000000BEA292929292929292F10000
+010369:000000000F1112222222222222210000
+01036A:0000000092929292929292AAAA440000
+01036B:0000004E50205C82829292AAAA440000
+01036C:000000000404080810FC202040C00000
+01036D:00000000101010101010101010100000
+01036E:00000000FC44282810102828407E0000
+01036F:00000000F090909010141212121E0000
+010370:000000004040404040404042427E0000
+010371:000000003F49494808080E09090E0000
+010372:00000000221C6191910A0A0A04040000
+010373:000000009B6D49494A4848484A4C0000
+010374:000000004CB4A4A42424242425260000
+010375:000000008282546C4428282810100000
+010376:3C240E10000000000000000000000000
+010377:10384444000000000000000000000000
+010378:38282838000000000000000000000000
+010379:C2242810000000000000000000000000
+01037A:18101418000000000000000000000000
 010380:00000000000000000000440066007FFE66004400000000000000000000000000
 010381:00003EF81C700820082008200820082008200000440066007FFE660044000000
 010382:000007C003800100010001000100010001000100010001000100010001000000
 01F402:00000000500050003C006F007FF83FFC0FFE0FFD0FFC0A140A140A1400000000
 01F403:0000000000000000500057003FF86FFC7FFE0FFD0FFC0A140A140A1400000000
 01F404:000000000000100078005E00FFF8FFFC1FFE1FFD1FFC15D41414141400000000
-01F405:00000000000000000000000000003FF06D587D5C0FFA142A2628200400000000
-01F406:00000000000000000000000000003FF06D787FDC0F7A142A2628200400000000
+01F405:00000C001E00258050784526852299426654021401200148009200620016001A
+01F406:00000C001E00258050784006803099B665860200013000B00046002600120012
 01F407:0000000006000E000E003C006DF07FF87FFC3FFC3FFE1F9E1F7C18F800000000
 01F408:0000000044046C047C0255F27FFA3FFC0FF80FF80FE80A280A28124800000000
 01F409:2B0011C007601BD8799E7DBEF7EFF3CFF99FA9958301032006300610073003E0
 01F40C:000000004400280028F029F83BF83BF83FF83FF03FE03FF83FFC1FFE00000000
 01F40D:000000003C006E007E003E000E000E080CCC1DE619F61B361F3E0E1C00000000
 01F40E:0000000004001C002E007E007FEC2FFE0FF60FF60FF20C300A28124800000000
-01F40F:000001E0021004080408021007800FC01BE01FF81FF803F00070004000000000
+01F40F:000001E003F007980708071003800FC01BE01FF81FF803F00070004000000000
 01F410:000000000000030004E0050007800FC01BE01FF81FF80BF01070004000000000
 01F411:0000000078007C00DC00FE00FFFE1FFF07FF07FF03FE02FA028A048804080000
 01F412:00000000000C001218112C0D7FE17FFA0FFC0FF807F0055005280A5000000000
 01F42C:00000000000001C007801F802FC03FE07FF006F0023C001E1998665200000000
 01F42D:00003018482487C2844280024444C006600CC106238810100C60038000000000
 01F42E:000000000000C386E7CEFFFE7FFC1BB01FF01FF01FF00FE00FE0044003800000
-01F42F:00003018482487C2844280024444701C610C438438381BB00C60038000000000
+01F42F:00003018482487C2844280024444701C610C4BA438381BB00C60038000000000
 01F430:00000C30142812481248124813C808100A501008124811880C3003C000000000
 01F431:0000000010102BA82448400440044444C006600CC5462288183007C000000000
 01F432:000000E00180030003C007C00DF03FF05FFCFFFCFFFE073E0E3E1E3C38380000
 01F437:0000783C47C44004400444442008238844444AA4482447C42388183007C00000
 01F438:00000000183024483FF83FF87FFC7FFC7FFC600C38381C700440044003800000
 01F439:0000000010102BA8244840044C644C64E00E410453942008D456082077DC0000
-01F43A:0000200830182BA8244820082448101011101390082008200BA0044003800000
-01F43B:00000000600C93929C72600C4444800281028382800244442388183007C00000
+01F43A:000000001008281445A24662800180018C198C198001800183C163C6199807E0
+01F43B:0000180C25D24221441148092A2A12A411C411C409C808880550022001C00000
 01F43C:0000000067CCF83EE00E4EE45AB45EF44C644384292827C8183007C000000000
 01F43D:000000000180066008101008200446624E724C3240022004181807E000000000
 01F43E:00000000140040001C00BE003E501804007000FA00F800300000000000000000
 01F605:000003E00C981244200226324949400140014FF9280A241213E40C1803E00000
 01F606:000003E00C181004241222224411400140014FF9280A241213E40C1803E00000
 01F607:0FF8100423E22C1A1C1C23E22002463146314001280A241213E40C1803E00000
-01F608:200433CC3C3C300C242422444662466240024812242423C410080C3003C00000
+01F608:400263C66C36700E642622444662466240024812242423C410080C3003C00000
 01F609:000003E00C181004201226224611400140014FF9280A241213E40C1803E00000
 01F60A:000003E00C181004200226324949400140014809241223E210040C1803E00000
 01F60B:000003E00C181004200226324949400140014809241223E211240CD803E00000
 01F636:000003E00C1810042002263246314001400140012002200210040C1803E00000
 01F637:000003E00C181224241227725005480967F354152C1A27F210040C1803E00000
 01F638:0000000010102BA82448400444444AA4C0066FECCAA627C8183007C000000000
-01F639:0000000010102BA82448400444445AB4C0066FECCAA627C8183007C000000000
+01F639:0000000010102BA8244840044C645014C0166FECCAA627C8183007C000000000
 01F63A:0000000010102BA82448400440044444C0066FECC82627C8183007C000000000
 01F63B:0000000010102BA8244840044AA44EE4C446600CC5462288183007C000000000
 01F63C:0000000010102BA82448400440044444C006600CC0462188183007C000000000
 01F63D:0000000010102BA8244840044AA44444C006608CC0462088183007C000000000
 01F63E:0000000010102BA82448400440044444C006638CC4462108183007C000000000
-01F63F:0000000010102BA82448400440044444C826628CC5462008183007C000000000
+01F63F:0000000010102BA82448400444444024C026628CC5462008183007C000000000
 01F640:0000000010102BA82448400442844444C006638CC44627C8183007C000000000
 01F641:000003E00C18100420022632463140014001400121C2222210040C1803E00000
 01F642:000003E00C181004200226324631400140014001222221C210040C1803E00000
 01F64D:0000000003C0042008101008366C500A500A499244224BD24812481200000000
 01F64E:0000000003C004200A5014281668100810080990342C43C24812481200000000
 01F64F:000000000000000007C00820101016D018302BA845449D728102FFFE00000000
+01F650:0000000000001800180018000870148822042104209820C011200E1800000000
+01F651:0000000000C0012402240208021001300048008401041E041D0800F000000000
+01F652:000000000780085C103C10401080090006400420082012201240018000000000
+01F653:00000000000018700488030419042084204411280E1000180018001800000000
+01F654:0000000001E03A103C0802080108009002600420041004480248018000000000
+01F655:0000000000000E18112020C02098210422041488087018001800180000000000
+01F656:0000000000000018001800180E10112820442084190403040488187000000000
+01F657:00000000030024802440104008400C80120021002080207810B80F0000000000
+01F658:00000000000000700088010001F0360848443424032400C80000000000000000
+01F659:000000000000000000C8032434244844360801F0010000880070000000000000
+01F65A:0000000000001C00220001001F0020D844244858498026000000000000000000
+01F65B:0000000000000000260049804858442420D81F00010022001C00000000000000
+01F65C:00000000001C006C0080010039F03E7C4C063646032601E600CC001000000000
+01F65D:00000000001000CC01E6032636464C063E7C39F001000080006C001C00000000
+01F65E:00000000001000CC01E6032636464C063E7C39F001000080006C001C00000000
+01F65F:00000000001C006C0080010039F03E7C4C063646032601E600CC001000000000
+01F660:00000000000038002400223012080B841C422402420241024484387800000000
+01F661:000000000000387844844102420224021C420B84120822302400380000000000
+01F662:000000000000001C00240C44104821D0423840244042408221221E1C00000000
+01F663:0000000000001E1C2122408240424024423821D010480C440024001C00000000
+01F664:00000000000078006400623032181B8C1DC634266206618E7CFC387800000000
+01F665:00000000000038787CFC618E620634261DC61B8C321862306400780000000000
+01F666:000000000000001E00260C46184C31D863B8642C604671863F3E1E1C00000000
+01F667:0000000000001E1C3F3E71866046642C63B831D8184C0C460026001E00000000
+01F668:00000000701C48244444228812900D6003800D601290228844444824701C0000
+01F669:0000FFFE8FE2A7CA9392CBA6E38EFD7EFEFEFD7EE38ECBA69392A7CA8FE2FFFE
+01F66A:00000000783C4C6446C4628C32981EF002801EF03298628C46C44C64783C0000
+01F66B:0000FFFE87C2A38A91128922C106E10EFFFEE10EC10689229112A38A87C2FFFE
+01F66C:000000000010000800C401441FE42838483C28381FE4014400C4000800100000
+01F66D:0000000001000280044007C0044004400C6014501C7007C0438423881D700000
+01F66E:0000000010002000460045004FF03828782438284FF045004600200010000000
+01F66F:000000001D702388438407C01C7014500C600440044007C00440028001000000
+01F670:000000000000000000000CC21332212C412042207C6040A023201C2000000000
+01F671:000000000000000001E00EF2173A233C43304E307C7040B063B03F301C000000
+01F672:000000001E0020002000200010000FFC10602060206020A011200E2000000000
+01F673:000000001E0030006000600070003FFC10602060606060E071603F601E600000
+01F674:0000000007000D800D800D8007000F1C1B8839C838F03C781FDC0F8000000000
+01F675:000000001C0022042202140218FC25104210411040A2404220A21F1C00000000
+01F676:00003366CCEEEEEE0000000000000000
+01F677:00007777773366CC0000000000000000
+01F678:000000000000000000007777773366CC
+01F679:0000000003000FE01370233823380338037003E0038003000300000003000300
+01F67A:0000000002000F80124022202220022002400280030002000200000002000000
+01F67B:00000000018007F01FF8399C318C019C01B801F001E001C00180000001800180
+01F67C:0000000001F801F803F003F007E007E00FC00FC01F801F803F003F0000000000
+01F67D:000000003F003F001F801F800FC00FC007E007E003F003F001F801F800000000
+01F67E:00FF00FF00FF00FF00FF00FF00FF00FFFF00FF00FF00FF00FF00FF00FF00FF00
+01F67F:00FF00FF00FF00FF00FF00FF00FF00FFFF00FF00FF00FF00FF00FF00FF00FF00
 01F680:000078004600413040C820442026113808A00C4813A411030948062402120010
 01F681:00000000000000007FC004001F0C2392419241FA7FFA3F921F12090C7FE00000
 01F682:0000000018003C003C3F183C19BC3FFF7FFF7FF32DAD525EBFFE124C00000000
 01F771:00000000000000001FF8181814281248118811881248142818181FF800000000
 01F772:00000000000000003F180224042408481C7002480188418822B01D0001000000
 01F773:000000000000000000303C48084810903CE0091012103C900A6012000C000000
+01F780:000000000000004000C001C003C007C00FC007C003C001C000C0004000000000
+01F781:0000000000000100038007C00FE01FF03FF80000000000000000000000000000
+01F782:00000000000008000C000E000F000F800FC00F800F000E000C00080000000000
+01F783:000000000000000000000000000000003FF81FF00FE007C00380010000000000
+01F784:000000000000183C3C18000000000000
+01F785:000003C00C3010082004200440024002400240022004200410080C3003C00000
+01F786:000003C00FF01838300C30046006600660066006200C300C1C180FF003C00000
+01F787:000003C00FF01FF83C3C381C700E700E700E700E381C3C3C1FF80FF003C00000
+01F788:000003C00FF01FF83FFC3E7C7C3E781E781E7C3E3E7C3FFC1FF80FF003C00000
+01F789:000003C00FF01FF83FFC3FFC7E7E7C3E7C3E7E7E3FFC3FFC1FF80FF003C00000
+01F78A:000003C00C30100820042004418243C243C241822004200410080C3003C00000
+01F78B:000003C00C30100823C4242449924A524A524992242423C410080C3003C00000
+01F78C:00000000000000303000000000000000
+01F78D:00000000000000383838000000000000
+01F78E:00007FFE4002400240024002400240024002400240024002400240027FFE0000
+01F78F:00007FFE7FFE60066006600660066006600660066006600660067FFE7FFE0000
+01F790:00007FFE7FFE7FFE700E700E700E700E700E700E700E700E7FFE7FFE7FFE0000
+01F791:00007FFE7FFE7FFE7FFE781E781E781E781E781E781E7FFE7FFE7FFE7FFE0000
+01F792:00007FFE7FFE7FFE7FFE7FFE7C3E7C3E7C3E7C3E7FFE7FFE7FFE7FFE7FFE0000
+01F793:00007FFE7FFE7FFE7FFE7FFE7FFE7E7E7E7E7FFE7FFE7FFE7FFE7FFE7FFE0000
+01F794:00007FFE4002400240024002400241824182400240024002400240027FFE0000
+01F795:00007FFE40024002400247E247E247E247E247E247E24002400240027FFE0000
+01F796:00007FFE400240024FF24812481249924992481248124FF2400240027FFE0000
+01F797:00000000000000103810000000000000
+01F798:00000000000010387C38100000000000
+01F799:000000000010387CFE7C381000000000
+01F79A:0000000001000280044008201110238847C42388111008200440028001000000
+01F79B:000000000100028004400920139027C84FE427C8139009200440028001000000
+01F79C:0000000001000280044008201110228844442288111008200440028001000000
+01F79D:00000000000010103810100000000000
+01F79E:00000000001010387C38101000000000
+01F79F:000000101038387CFE7C383810100000
+01F7A0:000002000200050008800A80124027204F90272012400A800880050002000200
+01F7A1:000000000100010001000100010001007FFC0100010001000100010001000000
+01F7A2:00000000030003000300030003007FF87FF80300030003000300030000000000
+01F7A3:00000000038003800380038003807FFC7FFC7FFC038003800380038003800000
+01F7A4:0000000007800780078007807FF87FF87FF87FF8078007800780078000000000
+01F7A5:0000000007C007C007C007C07FFC7FFC7FFC7FFC7FFC07C007C007C007C00000
+01F7A6:000000000FC00FC00FC07FF87FF87FF87FF87FF87FF80FC00FC00FC000000000
+01F7A7:000000000FE00FE00FE07FFC7FFC7FFC7FFC7FFC7FFC7FFC0FE00FE00FE00000
+01F7A8:0000000040042008101008200440028001000280044008201010200840040000
+01F7A9:00006006300C18180C30066003C0018003C006600C301818300C600640020000
+01F7AA:00000000600C701C38381C700EE007C0038007C00EE01C703838701C600C0000
+01F7AB:0000700E781E3C3C1E780FF007E003C007E00FF01E783C3C781E700E60060000
+01F7AC:00000000701C783C7C7C3EF81FF00FE007C00FE01FF03EF87C7C783C701C0000
+01F7AD:0000781E7C3E7E7E3FFC1FF80FF007E00FF01FF83FFC7E7E7C3E781E700E0000
+01F7AE:00000000783C7C7C7EFC7FFC3FF81FF00FE01FF03FF87FFC7EFC7C7C783C0000
+01F7AF:000000000100010001000100610C1D7003800280044004400820101020080000
+01F7B0:0000000001800180018061867DBE1FF803C003C0066006600C301818300C6006
+01F7B1:0000000003800380C386E38E7FFC7FFC1FF007C00EE00EE01C703838701CE00E
+01F7B2:0000000003C0C3C7E3CFFFFF7FFE3FF81FF007E007E00FF01E783C3C781EF00F
+01F7B3:0000038007C0C7C6E7CEFFFE7FFC7FFC3FF81FF01EF03C787C7CF83EF01FE00F
+01F7B4:000003C0C7E3E7EFFFFFFFFFFFFF7FFC3FF80FF00FF01FF83FFC7E7EFC3FF81F
+01F7B5:0000010001008102610C193007C0038007C01930610C81020100010001000000
+01F7B6:000001808181E187799E1FF807E003C007E01FF8799EE1878181018001800000
+01F7B7:000003808382E38EFBBE7FFC1FF007C01FF07BFCFBBEE38E8382038003800000
+01F7B8:000083C1E3C3FBCFFFFF7FFC1FF007E01FF87FFEFFFFFBDFE3C783C103C00000
+01F7B9:000087C2E7CEFFFEFFFEFFFE7FFC1FF07FFCFFFEFFFEFFFEE7CE87C207C00000
+01F7BA:8001E7E3FFEFFFFFFFFFFFFF7FFC1FF87FFEFFFFFFFFFFFFFFFFE7E787E10000
+01F7BB:000000004104210811100920054003807FFC0380054009201110210841040000
+01F7BC:000000006186318C19980DB007E07FFE7FFE07E00DB01998318C618641820000
+01F7BD:00000000638C739C3BB81FF00FE07FFC7FFC7FFC0FE01FF03BB8739C638C0000
+01F7BE:0000000073CE7BDE3FFC1FF87FFE7FFE7FFE7FFE1FF83FFC7BDE73CE63C60000
+01F7BF:0000E7CEF7DEFFFE7FFC3FF8FFFEFFFEFFFEFFFEFFFE3FF87FFCFFFEF7DEE7CE
+01F7C0:0000000001000100010001000380038007C00EE01C7030184004000000000000
+01F7C1:00000000018001800180018003C003C007E00E70381C700E4002000000000000
+01F7C2:00000100038003800380038007C00FE01FF07FFCFC7EE00E8002000000000000
+01F7C3:000001000300058005C009E009E005C003F01EC83EE43AF4727C641C78000000
+01F7C4:00000000010001000100038003800FE07FFC0FE0038003800100010001000000
+01F7C5:00000000010001000380038007C01FF07FFC1FF007C003800380010001000000
+01F7C6:000000000100038003C007C01FF03FF87FFC3FF81FF007C007C0038001000000
+01F7C7:000000000100038002C006C018B03F887FFC23F81B3007400740038001000000
+01F7C8:00000100038005C004E004E018B83F84FFFF21FC1D180720072003A001C00080
+01F7C9:00000000000001000100038003807FFC1FF0038006C006C00C60183030180000
+01F7CA:000000000180018003C063C67FFE1FF80FF007E007E00E701C38381C700E0000
+01F7CB:0000000001000100038067CC3FF81FF00FE01FF03FF867CC0380010001000000
+01F7CC:000000000100038007C07FFC3FF81FF00FE01FF03FF87FFC07C0038001000000
+01F7CD:000000000100028006C07CFC3FD811100DE0171031D87E7C06C0028001000000
+01F7CE:00000000410421081BB01FF00FE01FF07FFC1FF00FE01FF01BB0210841040000
+01F7CF:00000000610C739C3FF81FF01FF03FF87FFC3FF81FF01FF03FF8739C610C0000
+01F7D0:00000100038007C01FF01FF03FF87FFCFFFE7FFC3FF81FF01FF007C003800100
+01F7D1:00000100028006C01EF016D03BB87D7C87C27D7C3BB816D01EF006C002800100
+01F7D2:0000000001001110092027C81FF00FE07FFC0FE01FF027C80920111001000000
+01F7D3:0000000001001BB01FF02FE81FF03FF87FFC3FF81FF02FE81FF01BB001000000
+01F7D4:0000000001001AB016D03AB817D0393847C4393817D03AB816D01AB001000000
+01F800:000000000000000000000000100030007FFE3000100000000000000000000000
+01F801:00000100038007C0010001000100010001000100010001000100010000000000
+01F802:0000000000000000000000000008000C7FFE000C000800000000000000000000
+01F803:0000010001000100010001000100010001000100010007C00380010000000000
+01F804:00000000000004000C001C003C007FFE7FFE3C001C000C000400000000000000
+01F805:0000018003C007E00FF01FF80180018001800180018001800180018000000000
+01F806:000000000000002000300038003C7FFE7FFE003C003800300020000000000000
+01F807:0000018001800180018001800180018001801FF80FF007E003C0018000000000
+01F808:0000000000000100030007000F001FFC3FFC1FFC0F0007000300010000000000
+01F809:000000000100038007C00FE01FF03FF803800380038003800380038000000000
+01F80A:000000000000008000C000E000F03FF83FFC3FF800F000E000C0008000000000
+01F80B:000000000380038003800380038003803FF81FF00FE007C00380010000000000
+01F810:000000000000000000000800180038007FFE3800180008000000000000000000
+01F811:00000100038007C00FE001000100010001000100010001000100010000000000
+01F812:0000000000000000000000100018001C7FFE001C001800100000000000000000
+01F813:00000100010001000100010001000100010001000FE007C00380010000000000
+01F814:00000000000000000000100030007FFE7FFE3000100000000000000000000000
+01F815:0000018003C007E0018001800180018001800180018001800180018000000000
+01F816:000000000000000000000008000C7FFE7FFE000C000800000000000000000000
+01F817:0000018001800180018001800180018001800180018007E003C0018000000000
+01F818:0000000000000000020006000E001FFC3FFC1FFC0E0006000200000000000000
+01F819:000000000100038007C00FE01FF0038003800380038003800380038000000000
+01F81A:00000000000000000040006000703FF83FFC3FF8007000600040000000000000
+01F81B:0000000003800380038003800380038003801FF00FE007C00380010000000000
+01F81C:00000000000000800180038007800FF81FF80FF8078003800180008000000000
+01F81D:000000000100038007C00FE01FF03FF803800380038003800000000000000000
+01F81E:0000000000000100018001C001E01FF01FF81FF001E001C00180010000000000
+01F81F:000000000000000003800380038003803FF81FF00FE007C00380010000000000
+01F820:000000000000000004000C001C003C007FFE3C001C000C000400000000000000
+01F821:00000100038007C00FE01FF00100010001000100010001000100010000000000
+01F822:0000000000000000002000300038003C7FFE003C003800300020000000000000
+01F823:0000010001000100010001000100010001001FF00FE007C00380010000000000
+01F824:00000000000000000800180038007FFE7FFE3800180008000000000000000000
+01F825:0000018003C007E00FF001800180018001800180018001800180018000000000
+01F826:000000000000000000100018001C7FFE7FFE001C001800100000000000000000
+01F827:00000180018001800180018001800180018001800FF007E003C0018000000000
+01F828:0000000000000000000004000C001FFC3FFC1FFC0C0004000000000000000000
+01F829:000000000100038007C00FE00380038003800380038003800380038000000000
+01F82A:00000000000000000000002000303FF83FFC3FF8003000200000000000000000
+01F82B:00000000038003800380038003800380038003800FE007C00380010000000000
+01F82C:0000000000000000000004000FFC1FFC3FFC1FFC0FFC04000000000000000000
+01F82D:000000000100038007C00FE007C007C007C007C007C007C007C007C000000000
+01F82E:0000000000000000000000203FF03FF83FFC3FF83FF000200000000000000000
+01F82F:0000000007C007C007C007C007C007C007C007C00FE007C00380010000000000
+01F830:000000000000020006000E001FFE3FFE7FFE7FFE3FFE1FFE0E00060002000000
+01F831:0000018003C007E00FF01FF83FFC07E007E007E007E007E007E007E000000000
+01F832:0000000000000040006000707FF87FFC7FFE7FFE7FFC7FF80070006000400000
+01F833:000007E007E007E007E007E007E007E03FFC1FF80FF007E003C0018000000000
+01F834:000000000000000000000FFE1FFE3FFE7FFE3FFE1FFE0FFE0000000000000000
+01F835:00000100038007C00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE000000000
+01F836:000000000000000000007FF07FF87FFC7FFE7FFC7FF87FF00000000000000000
+01F837:00000FE00FE00FE00FE00FE00FE00FE00FE00FE00FE007C00380010000000000
+01F838:000000000008183E7E3E180800000000
+01F839:0000000000081C3E7F1C1C0000000000
+01F83A:000000000010187C7E7C181000000000
+01F83B:0000000000001C1C7F3E1C0800000000
+01F83C:000000000008183C7C3C180800000000
+01F83D:0000000000081C3E7F1C000000000000
+01F83E:000000000010183C3E3C181000000000
+01F83F:000000000000001C7F3E1C0800000000
+01F840:000000000080018003E007E00FE01FE03FE01FE00FE007E003E0018000800000
+01F841:0000000000000100038007C00FE01FF03FF80FE00FE000000000000000000000
+01F842:000000000100018007C007E007F007F807FC07F807F007E007C0018001000000
+01F843:000000000000000000000FE00FE03FF81FF00FE007C003800100000000000000
+01F844:000000000000020006000FFE1FFE3FFE7FFE3FFE1FFE0FFE0600020000000000
+01F845:00000100038007C00FE01FF03FF80FE00FE00FE00FE00FE00FE00FE000000000
+01F846:000000000000004000607FF07FF87FFC7FFE7FFC7FF87FF00060004000000000
+01F847:00000FE00FE00FE00FE00FE00FE00FE03FF81FF00FE007C00380010000000000
+01F850:000000000000000000000800100020007FFE2000100008000000000000000000
+01F851:0000010003800540092001000100010001000100010001000100010000000000
+01F852:000000000000000000000010000800047FFE0004000800100000000000000000
+01F853:0000010001000100010001000100010001000100092005400380010000000000
+01F854:000000003E003000280024002200010000800040002000100008000400000000
+01F855:00000000007C000C001400240044008001000200040008001000200000000000
+01F856:000000002000100008000400020001000080004400240014000C007C00000000
+01F857:00000000000400080010002000400080010022002400280030003E0000000000
+01F858:000000000000000000000810100820047FFE2004100808100000000000000000
+01F859:0000010003800540092001000100010001000100092005400380010000000000
+01F860:000000000000020004000800100020007FFE2000100008000400020000000000
+01F861:0000010003800540092011102108010001000100010001000100010000000000
+01F862:000000000000004000200010000800047FFE0004000800100020004000000000
+01F863:0000010001000100010001000100010021081110092005400380010000000000
+01F864:000000003FC03000280024002200210020802040002000100008000400000000
+01F865:0000000003FC000C001400240044008401040204040008001000200000000000
+01F866:000000002000100008000400020401040084004400240014000C03FC00000000
+01F867:00000000000400080010002020402080210022002400280030003FC000000000
+01F868:000000000000038007000E001C003FFE7FFE3FFE1C000E000700038000000000
+01F869:00000100038007C00FE01FF03BB8339823880380038003800380038000000000
+01F86A:00000000000001C000E0007000387FFC7FFE7FFC0038007000E001C000000000
+01F86B:000003800380038003800380238833983BB81FF00FE007C00380010000000000
+01F86C:000000003FC03FE03C003E003700338031C030E010700038001C000800000000
+01F86D:0000000003FC07FC003C007C00EC01CC038C070C0E081C003800100000000000
+01F86E:00000000100038001C000E08070C038C01CC00EC007C003C07FC03FC00000000
+01F86F:000000000008001C0038107030E031C0338037003E003C003FE03FC000000000
+01F870:00000000038007000E001C003FFE7FFE7FFE3FFE1C000E000700038000000000
+01F871:0000018003C007E00FF01FF83BDC33CC23C403C003C003C003C003C000000000
+01F872:0000000001C000E0007000387FFC7FFE7FFE7FFC0038007000E001C000000000
+01F873:000003C003C003C003C003C023C433CC3BDC1FF80FF007E003C0018000000000
+01F874:00003F807FC07FE07E007F00778073C071E030F01078003C001E000C00080000
+01F875:000001FC03FE07FE007E00FE01EE03CE078E0F0C1E083C007800300010000000
+01F876:00001000300078003C001E080F0C078E03CE01EE00FE007E07FE03FE01FC0000
+01F877:00000008000C001E003C107830F071E073C077807F007E007FE07FC03F800000
+01F878:0000000001E003C007800F001FFE3FFE7FFE3FFE1FFE0F00078003C001E00000
+01F879:00000100038007C00FE01FF03FF87FFC77DC67CC47C407C007C007C000000000
+01F87A:00000000078003C001E000F07FF87FFC7FFE7FFC7FF800F001E003C007800000
+01F87B:000007C007C007C047C467CC77DC7FFC3FF81FF00FE007C00380010000000000
+01F87C:00003F807FC07FE07E007F007F8077C073E031F010F8007C003E001C00080000
+01F87D:000001FC03FE07FE007E00FE01FE03EE07CE0F8C1F083E007C00380010000000
+01F87E:0000100038007C003E001F080F8C07CE03EE01FE00FE007E07FE03FE01FC0000
+01F87F:00000008001C003E007C10F831F073E077C07F807F007E007FE07FC03F800000
+01F880:000000F001E003C007800FFE1FFE3FFE7FFE3FFE1FFE0FFE078003C001E000F0
+01F881:00000100038007C00FE01FF03FF87FFCFFFEEFEECFE68FE20FE00FE000000000
+01F882:00000F00078003C001E07FF07FF87FFC7FFE7FFC7FF87FF001E003C007800F00
+01F883:00000FE00FE08FE2CFE6EFEEFFFE7FFC3FF81FF00FE007C00380010000000000
+01F884:00007FC07FE07FF07FF87FC07FE07FF07FF87FFC3BFE19FC08F8007000200000
+01F885:000003FE07FE0FFE1FFE03FE07FE0FFE1FFE3FFE7FDC3F981F100E0004000000
+01F886:000004000E001F103F987FDC3FFE1FFE0FFE07FE03FE1FFE0FFE07FE03FE0000
+01F887:00000020007008F819FC3BFE7FFC7FF87FF07FE07FC07FF87FF07FE07FC00000
+01F890:00000000000002060E06020000000000
+01F891:000000000000000000000010387C0000
+01F892:00000000000040607060400000000000
+01F893:0000007C381000000000000000000000
+01F894:000000000000000800180038006800C8018000C8006800380018000800000000
+01F895:000000000000000000000000000000000100038006C00C6018303EF800000000
+01F896:000000000000100018001C00160013000180130016001C001800100000000000
+01F897:000000003EF818300C6006C00380010000000000000000000000000000000000
+01F898:000000000000020006000E001FFE3FFC7FF83FFC1FFE0E000600020000000000
+01F899:00000100038007C00FE01FF03FF807C007C007C007C007C006C0044000000000
+01F89A:0000000000000040006000707FF83FFC1FFE3FFC7FF800700060004000000000
+01F89B:0000044006C007C007C007C007C007C03FF81FF00FE007C00380010000000000
+01F89C:00000000000000FFFFFF000000000000
+01F89D:000000000000007E7E7E000000000000
+01F89E:000000000000003C3C3C000000000000
+01F89F:00000000000000181818000000000000
+01F8A0:000000000000020006000BFE10022002700238021FFE0FFE0600020000000000
+01F8A1:000000000000004000607FD040084004400E401C7FF87FF00060004000000000
+01F8A2:000000000000020006000FFE1FFE38027002200210020BFE0600020000000000
+01F8A3:000000000000004000607FF07FF8401C400E400440087FD00060004000000000
+01F8A4:000000000000020006000FFE1C023802700238021C020FFE0600020000000000
+01F8A5:000000000000004000607FF04038401C400E401C40387FF00060004000000000
+01F8A6:000000000000020006000FFE1BFE3006600630061BFE0FFE0600020000000000
+01F8A7:000000000000004000607FF07FD8600C6006600C7FD87FF00060004000000000
+01F8A8:000000000000000004000A0011F02008700439FC1FFE0E000600020000000000
+01F8A9:0000000000000000002000500F881004200E3F9C7FF800700060004000000000
+01F8AA:0000000000000000020006000E001FFE39FC7004200811F00A00040000000000
+01F8AB:00000000000000000040006000707FF83F9C200E10040F880050002000000000
+01F8AC:0000000000FF8181818181FF00000000
+01F8AD:00000000007E42424242427E00000000
index 2c98713e94ed8c10264dc8b127b5e78864e57c97..260e5ba438b44829425af019f7cf2781157a8e52 100644 (file)
@@ -29,7 +29,7 @@ Licensed under the GNU General Public License; either version 2, or \
 (at your option) a later version, with the GNU Font Embedding Exception."
 
 UNICODE_VERSION = 7.0
-PKG_REV = 05
+PKG_REV = 06
 VERSION = $(UNICODE_VERSION).$(PKG_REV)
 
 #
index c5021d97190049fa2ba11ffcf49094a7b537d41b..f9d78d543c47bf961182b59fd92d3e76f771eb6e 100644 (file)
@@ -2,12 +2,13 @@
 SHELL = /bin/sh
 
 BINDIR = ../bin
+GZFLAGS = -f -9 -n
 
 #
 # assembly date of this version
 #
 UNICODE_VERSION = 7.0
-PKG_REV = 05
+PKG_REV = 06
 VERSION = $(UNICODE_VERSION).$(PKG_REV)
 
 COPYRIGHT = "Copyright (C) 2013 Paul Hardy.  \
@@ -32,7 +33,7 @@ hangul-hex:
           < hangul-base.hex | \
           sed -e "s/[Ii][Ss][Oo]10646/Johab/g" >hangul-base.bdf
        bdftopcf < hangul-base.bdf > hangul-base.pcf
-       gzip -f -9 hangul-base.pcf
+       gzip $(GZFLAGS) hangul-base.pcf
        $(BINDIR)/johab2ucs2 < hangul-base.bdf > hangul-syllables.hex
 
 # Convert the .hex file containing all Unicode Hangul Syllables
index ab6ac3c4457b47b47e5f831078a65247043f9a31..a61cda1fec6d6048271935cb2b66fd1a0baf6a48 100644 (file)
@@ -1,12 +1,13 @@
 
 SHELL = /bin/sh
+GZFLAGS = -f -9 -n
 
 MAN1PAGES = bdfimplode.1 hex2bdf.1 hex2sfd.1 \
        hexbraille.1 hexdraw.1 hexmerge.1 hexkinya.1 johab2ucs2.1 \
        unibdf2hex.1 unibmp2hex.1 unicoverage.1 unidup.1 \
-       unifontpic.1 unifontchojung.1 unifontksx.1 unifont-viewer.1 \
-       unigencircles.1 unigenwidth.1 unihex2bmp.1 unihex2png.1 unihexgen.1 \
-       unihexfill.1 unipagecount.1 unipng2hex.1
+       unifontpic.1 unifontchojung.1 unifontksx.1 unigencircles.1 \
+       unigenwidth.1 unihex2bmp.1 unihex2png.1 unihexgen.1 \
+       unihexfill.1 unipagecount.1 unipng2hex.1 unifont-viewer.1
 
 MAN5PAGES = unifont.5
 
@@ -35,8 +36,8 @@ install:
           if [ $(COMPRESS) = 0 ] ; then \
              install -m0644 $(MAN1PAGES) $(INSTALLDIR)/man1 ; \
           else \
-             gzip -f -9 < $$i >$$i.gz ; \
-             chmod 644 $$i.gz ; \
+             gzip $(GZFLAGS) < $$i >$$i.gz && \
+             chmod 644 $$i.gz && \
              mv $$i.gz $(INSTALLDIR)/man1 ; \
           fi \
        done
@@ -44,8 +45,8 @@ install:
           if [ $(COMPRESS) = 0 ] ; then \
              install -m0644 $(MAN5PAGES) $(INSTALLDIR)/man5 ; \
           else \
-             gzip -f -9 < $$i >$$i.gz ; \
-             chmod 644 $$i.gz ; \
+             gzip $(GZFLAGS) < $$i >$$i.gz && \
+             chmod 644 $$i.gz && \
              mv $$i.gz $(INSTALLDIR)/man5 ; \
           fi \
        done
index 370b21abf720d40b8b0e19187db285f3b4f525f7..f3c1510b9a20e066efc5ce3d950b0f454c878c49 100644 (file)
@@ -1,7 +1,7 @@
 
 SHELL = /bin/sh
 
-CFLAGS   = -g -O -Wall
+CFLAGS   = -g -O2 -Wall
 
 LOCALBINDIR = ../bin
 
@@ -26,8 +26,8 @@ CPROGS = unibmp2hex unicoverage unidup unibdf2hex unifontpic \
 # only used for generation of Hangul syllables.
 #
 PPROGS = bdfimplode hex2bdf hex2sfd hexbraille hexdraw hexkinya hexmerge \
-        johab2ucs2 unifont-viewer unifontchojung unifontksx unihex2png \
-        unihexfill unipng2hex
+        johab2ucs2 unifontchojung unifontksx unihex2png unihexfill \
+        unipng2hex unifont-viewer
 
 PROGS = $(CPROGS) $(PPROGS)
 
@@ -38,27 +38,27 @@ all: $(CPROGS) bin
 
 bin: bin-stamp
 
-bin-stamp: $(CPROGS) $(PPROGS)
+bin-stamp: $(CPROGS) $(PPROGS) $(PNGPROGS)
        install    -m0755 -d $(LOCALBINDIR)
-       install    -m0755 $? $(LOCALBINDIR)
+#      install    -m0755 $? $(LOCALBINDIR)
+       install -s -m0755 $(CPROGS) $(LOCALBINDIR)
+       install    -m0755 $(PPROGS) $(LOCALBINDIR)
        \rm -f $(CPROGS)
        touch $@
-#      install -s -m0755 $(CPROGS) $(LOCALBINDIR)
-#      install    -m0755 $(PPROGS) $(LOCALBINDIR)
 
 install:
        if [ x$(PREFIX) = x ] ; \
        then \
-          echo "Fatal error: PREFIX directory is not defined." ; \
-          echo "Run 'make install' from top-level directory" ; \
+          echo "Fatal error: PREFIX directory is not defined." && \
+          echo "Run 'make install' from top-level directory" && \
           exit 1 ; \
        fi
        install -m0755 -d $(INSTALLDIR)
-       set -e ; \
-          cd $(LOCALBINDIR) ; \
+       set -e && \
+          cd $(LOCALBINDIR) && \
           install -s -m0755 $(CPROGS) $(INSTALLDIR)
-       set -e ; \
-          cd ../bin ; \
+       set -e && \
+          cd ../bin && \
           install    -m0755 $(PPROGS) $(INSTALLDIR)
 
 #
index 4c92661360dd41c2d957a950d51a77caac187de9..8584ff60f32e0a67fbdd58adef738a73fe02d162 100755 (executable)
@@ -18,7 +18,7 @@
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-if (/^ENCODING\s+(\d+)/) { printf ("%04X:", $1); }
+if (/^ENCODING\s+(\d+)/) { printf ("%04X:", $1) or die ("Cannot print to stdout.\n"); }
 elsif (/^BITMAP/) { $BITMAP=1; }
-elsif (/^ENDCHAR/) { $BITMAP=0; print "\n"; }
-elsif ($BITMAP) { y/a-f/A-F/; s/\n$//; print; }
+elsif (/^ENDCHAR/) { $BITMAP=0; print "\n" or die ("Cannot print to stdout.\n"); }
+elsif ($BITMAP) { y/a-f/A-F/; s/\n$//; print or die ("Cannot print to stdout.\n"); }
index 18d1d160419b813b22627b9e822ef165297d4b7c..768d782440686643d085a24256a0764a00a45b16 100755 (executable)
@@ -79,7 +79,7 @@ FONT_ASCENT 14
 FONT_DESCENT 2
 DEFAULT_CHAR 65533
 ENDPROPERTIES
-CHARS $nchars\n";
+CHARS $nchars\n" or die ("Cannot print to stdout.\n");
 
 # TODO: $swidth needs to be modified to accomodate different widths better
 #       for glyphs with height different than 16 pixels.
@@ -101,7 +101,7 @@ SWIDTH $swidth 0
 DWIDTH $dwidth 0
 BBX $dwidth $vpixels 0 -2
 BITMAP $glyph
-ENDCHAR\n";
+ENDCHAR\n" or die ("Cannot print to stdout.\n");
 }
 
-print "ENDFONT\n";
+print "ENDFONT\n" or die ("Cannot print to stdout.\n");
index 4e1a45ec23a54c07ac2196ab120d1d4837593842..e794a0c9ab731e29ecd89ba26351bd0c500cf78c 100755 (executable)
@@ -49,10 +49,10 @@ for ($i = 0; $i < 0x110000; $i++) {
    push (@combining, 0);
 }
 if ($#ARGV < 0) {
-   open (A, "<", "combining.txt");
+   open (A, "<", "combining.txt") or die ("Cannot open combining.txt.\n");
 }
 else {
-   open (A, "<", $ARGV[0]);
+   open (A, "<", $ARGV[0]) or die ("Cannot open specified combining file for input.\n");
 }
 $maxcombining = 0;
 while (<A>) {
@@ -63,7 +63,7 @@ while (<A>) {
       $maxcombining = $codepoint;
    }
 }
-close (A);
+close (A) or die ("Cannot properly close combining input file.\n");
 
 $nglyphs    = 0;   # number of glyphs in font (none defined yet)
 @codepoints = ();  # code points of hex bitmaps
@@ -116,7 +116,7 @@ $descent = 2 * $pixel;
 $ascent  = 16 * $pixel - $descent;
 $bitmask = 25;  # round in x (doesn't really work), corner point selected
 
-print << "END";
+print << "END" or die ("Cannot print to stdout.\n");
 SplineFontDB: 1.0
 FontName: unifont
 FullName: GNU Unifont
@@ -184,7 +184,7 @@ for ($count = 0; $count < $nglyphs; $count++) {
 #      $count++;
 # }
 
-print << "END";
+print << "END" or die ("Cannot print to stdout.\n");
 EndChars
 EndSplineFont
 END
@@ -217,7 +217,7 @@ sub outline {
                $cn = -1;
        }
         # Changed "Flags: H" to "Flags: HW" to fix spaces - Paul Hardy, 2008
-       print << "END";
+       print << "END" or die ("Cannot print to stdout.\n");
 StartChar: $charname
 Encoding: $cn $cn $count
 Width: $ptwidth
@@ -245,7 +245,7 @@ END
                        } else {
                                if($prev) {
                                        $x2=$x * $pixel + $pixel;
-                                       print << "END";
+                                       print << "END" or die ("Cannot print to stdout.\n");
 $x1 $y1 m $bitmask
  $x1 $y2 l $bitmask
  $x2 $y2 l $bitmask
@@ -259,7 +259,7 @@ END
                }
                if($prev) {
                        $x2=0;
-                       print << "END";
+                       print << "END" or die ("Cannot print to stdout.\n");
 $x1 $y1 m $bitmask
  $x1 $y2 l $bitmask
  $x2 $y2 l $bitmask
@@ -268,7 +268,7 @@ $x1 $y1 m $bitmask
 END
                }
        }
-       print << "END";
+       print << "END" or die ("Cannot print to stdout.\n");
 EndSplineSet
 EndChar
 END
index 18dc616c7136a08046f0266fc440b6e492667fc4..c2f8e8b7848447522f43deb15cc0bf4c0bd2bd36 100755 (executable)
@@ -44,5 +44,5 @@ for ($c = 0; $c < 256; ++ $c)
             $c & 64 ? 3 : 2, $c & 128 ? 6 : 2,
             $c & 64 ? 3 : 0, $c & 128 ? 6 : 0
 
-            );
+            ) or die ("Cannot print to stdout.\n");
 }
index 7c959bd804c7260c208bf13166f17a250315f39e..dab7fec510e18316601b4f6e6c37e6b71b4b912e 100755 (executable)
@@ -64,7 +64,7 @@ for ($i = 0; $i < 21 ; $i++) {
        for ($m = 0; $m < 8 ; $m++) {
                for ($f = 0; $f < 22 ; $f++) {
                        $c = ($i * 176) + ($m * 22) + $f + 0xF0000;
-                       printf ("%06X:%s%s%s\n", $c, substr ($init[$i], 0, 10), substr ($medi[$m], 10, 10), substr ($fina[$f], 20, 12));
+                       printf ("%06X:%s%s%s\n", $c, substr ($init[$i], 0, 10), substr ($medi[$m], 10, 10), substr ($fina[$f], 20, 12)) or die ("Cannot print to stdout.\n");
                }
        }
 }
index f38cd6083d5c70cfe7707dcc721838a40ef4fff0..1ada352107c43692732ce7c1ae00868fd7bdd1e3 100755 (executable)
@@ -25,7 +25,7 @@ while (<>)
 
 for (sort keys %G)
 {
-       print "$_:$G{$_}\n";
+       print "$_:$G{$_}\n" or die ("Cannot print to stdout.\n");
 }
 
 # hexmerge taipei16.hex cns-2-16.hex jisksp16.hex jiskan16.hex
index 664a7f0590dd2fa7c38b8c2d278d629a00ca993c..456e36e5b5fbd8dae3e3094a0c7f69c9f0756cc3 100755 (executable)
@@ -277,7 +277,7 @@ for ( $j=0 ; $j <  11172 ;  $j++ ) {
    $medial = int($j / 28 ) % 21+1 ; 
    $final = $j % 28;
   
-   printf ("%04X:%64s\n", $j+0xAC00, &compose_hangul($init,$medial,$final));
+   printf ("%04X:%64s\n", $j+0xAC00, &compose_hangul($init,$medial,$final)) or die ("Cannot print to stdout.\n");
 
 }
 
@@ -292,7 +292,7 @@ sub compose_hangul
 
    for ( $i = 0; $i < 32; $i++) {
       $bit[$i]=sprintf("%02X", 
-         hex($l_bit[$i]) | hex($m_bit[$i]) | hex($f_bit[$i]) );
+         hex($l_bit[$i]) | hex($m_bit[$i]) | hex($f_bit[$i]) ) or die ("Cannot print to stdout.\n");
    }
 
    return pack("a2" x 32, @bit );
index 7556f4b9649a579a4a59d07863b3b7ef838f7e29..bc82d2e7db2cf3c86cd2ec0034bc7682384d5589 100755 (executable)
@@ -12,7 +12,7 @@ sub LoadHexFile {
        my ($input) = @_;
        my %hexlist = ();
 
-       open (HEXFILE, "$input") or die ("Cannot open file\n");
+       open (HEXFILE, "$input") or die ("Cannot open hex file for input\n");
 
        while (<HEXFILE>) {
                chomp;
@@ -35,7 +35,7 @@ sub Hex2PNG {
        my %hexlist = %$hexlist_ref;
 
        if ($pagenum > 0x10FF) {
-               die ("Invalid page\n");
+               die ("Invalid page.\n");
        }
 
        my $charxoffset = 4;
@@ -66,7 +66,7 @@ sub Hex2PNG {
                $ymax = 3;
                $charmaxwidth = 8;
        } else {
-               die ("Invalid height\n");
+               die ("Invalid height.\n");
        }
 
        # Create box and set as tile pattern
@@ -217,12 +217,12 @@ sub load_gd {
        my ($self, $gd) = @_;
        my $png = $gd->png;
 
-       open my $fh, '<', \$png;
+       open my $fh, '<', \$png or die ("Cannot create PNG file for viewing.\n");
        my $handler = Wx::PNGHandler->new ();
        my $image = Wx::Image->new ();
        my $bitmap;
        $handler->LoadFile ($image, $fh);
-       close $fh;
+       close $fh or die ("Cannot properly close output file.\n");
        $bitmap = Wx::Bitmap->new ($image);
 
        if ($bitmap->Ok ()) {
@@ -341,7 +341,7 @@ sub OpenFile {
                $self->{filename} = $dlg->GetPath ();
                $self->SetTitle ("Unifont Viewer - " . $dlg->GetFilename ());
 
-               open HEXFILE, "<$self->{filename}" || die "Cannot open $self->{filename}\n";
+               open HEXFILE, "<$self->{filename}" || die "Cannot open $self->{filename}.\n";
 
                while (<HEXFILE>) {
                        chomp;
@@ -395,10 +395,10 @@ sub SaveFile {
 
                        $self->{imagepanel}->load_gd ($im);
 
-                       open (PICTURE, ">$filename") or die ("Cannot save image\n");
+                       open (PICTURE, ">$filename") or die ("Cannot save image.\n");
                        binmode PICTURE;
-                       print PICTURE $im->png;
-                       close PICTURE;
+                       print PICTURE $im->png or die;
+                       close PICTURE or die ("Cannot properly close output file.\n");
                }
        }
 }
index a94e4dd6425b9e86497efdf663665c4a9e201bef..06cafbea50dafa388ac1ea6092c431c905bbdde9 100755 (executable)
@@ -82,7 +82,7 @@ $nextchojung = shift(@chojung); # get first code point to find
 
 while (<>) {
    if (substr($nextchojung, 0, 5) eq substr($_, 0, 5)) {
-      print;  # this is one of the syllables we're seeking; print it
+      print or die ("Cannot print to stdout.\n");  # this is one of the syllables we're seeking; print it
       # Now get next Hangul Syllable to find; if no more, exit.
       if ($#chojung < 0) {
          exit;
index 40de726537cab8ca7bbfa39d9bf435800ea1198b..e31bfe5e41f28266376762043e7bc12682e9f93c 100755 (executable)
@@ -386,7 +386,7 @@ $nextksx = shift(@ksx); # get first code point to find
 
 while (<>) {
    if (substr($nextksx, 0, 5) eq substr($_, 0, 5)) {
-      print;  # this is one of the syllables we're seeking; print it
+      print or die ("Cannot print to stdout.\n");  # this is one of the syllables we're seeking; print it
       # Now get next Hangul Syllable to find; if no more, exit.
       if ($#ksx < 0) {
          exit;
index 3595f8052f3455de00d8e1dde4ccc349422aaddd..3708a59ebb8f1ff08c3d30735df18d8a37cb8c62 100755 (executable)
@@ -38,7 +38,7 @@ $result = GetOptions (
 );
 
 if ($opt_help) {
-       print << "END";
+       print << "END" or die ("Cannot print to stdout.\n");
 
 Turn a GNU Unifont hex glyph page of 256 code points into a PNG file
 
@@ -160,7 +160,7 @@ for ($count = 0; $count <= 15; $count++) {
 }
 
 if ($input) {
-       open (HEXFILE, "$input") or die ('Cannot open file\n');
+       open (HEXFILE, "$input") or die ('Cannot open hex file for input.\n');
 } else {
    *HEXFILE = *STDIN;
 }
@@ -197,11 +197,11 @@ while (<HEXFILE>) {
 }
 # Only close input file handler if it isn't STDIN.
 if ($input) {
-       close HEXFILE;
+       close HEXFILE or die ("Cannot properly close input file.\n");
 }
 
 # Save image
-open (PICTURE, ">$output") or die ("Cannot save image\n");
+open (PICTURE, ">$output") or die ("Cannot save image.\n");
 binmode PICTURE;
-print PICTURE $im->png;
-close PICTURE;
+print PICTURE $im->png or die ("Cannot write to picture file.\n");
+close PICTURE or die ("Cannot properly close output file.\n");
index 2008f32fc69afa27477f07fc1c3e2c91a5260d2e..8a270c7b1e57925b6a4532e1f2c09da8f9b8611b 100755 (executable)
@@ -2,6 +2,7 @@
 
 # input is a start, stop range pair
 # output is a list of code points with hexadecimal filler glyphs
+set -e
 grep "^[0-9A-Fa-f]" $1 | \
    awk 'NF == 1 {print "unihexgen " $1 " " $1;} \
        NF == 2 {print "unihexgen " $1 " " $2;}' | \
index 3da8f6083a4067d28314c3318ffd0a189ae44fe5..4519b64cb6936dea1a377c5a8ce428ffc3517878 100755 (executable)
@@ -37,7 +37,7 @@ $result = GetOptions (
 );
 
 if ($opt_help) {
-       print << "END";
+       print << "END" or die ("Cannot print to stdout.\n");
 
 Turn a .png glyph matrix into a GNU Unifont hex glyph set of 256 characters
 
@@ -70,7 +70,7 @@ if (not $input) {
 #}
 
 GD::Image->trueColor (1);
-$im = new GD::Image ("$input") or die ("Cannot open image\n");
+$im = new GD::Image ("$input") or die ("Cannot open image.\n");
 
 if ($im->isTrueColor ()) {
        $im->trueColorToPalette ();
@@ -185,7 +185,7 @@ $codepoint = ($codepoint << 4);
 $display_width = $codepoint > 0xFFFF ? 6 : 4;
 
 if ($output) {
-       open (HEXFILE, ">$output") or die ("Cannot save file\n");
+       open (HEXFILE, ">$output") or die ("Cannot save hex file.\n");
 } else {
        *HEXFILE = *STDOUT;
 }
@@ -226,7 +226,7 @@ for ($col = 0; $col < 16; $col++) {
                                $char = $char . sprintf ("%0*X", $charwidth * 2, $line);
                        }
 
-                       print HEXFILE "$char\n";
+                       print HEXFILE "$char\n" or die ("Cannot print to hex file.\n");
                }
 
                $codepoint += 1;
@@ -235,5 +235,5 @@ for ($col = 0; $col < 16; $col++) {
 
 # Only close HEXFILE if it isn't mapped to STDOUT.
 if ($output) {
-       close HEXFILE;
+       close HEXFILE or die ("Cannot properly close hex file.\n");
 }