diff options
Diffstat (limited to 'Master/texmf-dist/source/fonts/fonts-tlwg/tests/gen-pdfsample.sh')
-rwxr-xr-x | Master/texmf-dist/source/fonts/fonts-tlwg/tests/gen-pdfsample.sh | 221 |
1 files changed, 221 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/tests/gen-pdfsample.sh b/Master/texmf-dist/source/fonts/fonts-tlwg/tests/gen-pdfsample.sh new file mode 100755 index 00000000000..15012876ad3 --- /dev/null +++ b/Master/texmf-dist/source/fonts/fonts-tlwg/tests/gen-pdfsample.sh @@ -0,0 +1,221 @@ +#!/bin/sh +# gen-pdfsample.sh - print all glyphs in PDF file +# Usage: gen-pdfsample.sh <suffix> <prefix> +# where font file name is <prefix><font><suffix> +# +export GS_LIB=. +top_builddir=${top_builddir-../} +fsuffix=$1 +fprefix=$2 + +FONTS="Garuda Garuda-Oblique Garuda-Bold Garuda-BoldOblique +Kinnari Kinnari-Oblique Kinnari-Italic +Kinnari-Bold Kinnari-BoldOblique Kinnari-BoldItalic +Norasi Norasi-Oblique Norasi-Italic +Norasi-Bold Norasi-BoldOblique Norasi-BoldItalic +Loma Loma-Oblique Loma-Bold Loma-BoldOblique +TlwgMono TlwgMono-Oblique TlwgMono-Bold TlwgMono-BoldOblique +TlwgTypewriter TlwgTypewriter-Oblique +TlwgTypewriter-Bold TlwgTypewriter-BoldOblique +TlwgTypist TlwgTypist-Oblique TlwgTypist-Bold TlwgTypist-BoldOblique +Sawasdee Sawasdee-Oblique Sawasdee-Bold Sawasdee-BoldOblique +Waree Waree-Oblique Waree-Bold Waree-BoldOblique +Umpush-Light Umpush-LightOblique Umpush Umpush-Oblique +Umpush-Bold Umpush-BoldOblique +Purisa" +PHRASE="\340\264\347\241\241\265\321\255\220\331\340\275\207\322\344\242\214\244\330\263\273\331\206\315\302\331\213\267\325\350\272\214\322\271\303\324\301\271\355\351\322" +POEM_L1="\340\273\232\271\301\271\330\311\302\217\312\330\264\273\303\320\340\312\303\324\260\340\305\324\310\244\330\263\244\213\322" +POEM_L2="\241\307\213\322\272\303\303\264\322\275\331\247\312\321\265\307\217\340\264\303\321\250\251\322\271" +POEM_L3="\250\247\275\206\322\277\230\271\276\321\262\271\322\307\324\252\322\241\322\303" +POEM_L4="\315\302\213\322\305\214\322\247\274\305\322\255\304\345\340\242\213\271\246\213\322\272\325\261\322\343\244\303" +POEM_L5="\344\301\213\266\327\315\342\267\311\342\241\303\270\341\252\213\247\253\321\264\316\326\264\316\321\264\264\213\322" +POEM_L6="\313\321\264\315\300\321\302\340\313\301\327\315\271\241\325\314\322\315\321\252\254\322\312\321\302" +POEM_L7="\273\257\324\272\321\265\324\273\303\320\276\304\265\324\241\256\241\355\322\313\271\264\343\250" +POEM_L8="\276\331\264\250\322\343\313\214\250\215\320\346 \250\216\322\346 \271\213\322\277\230\247\340\315\302\317" +CIT="\305\324\242\312\324\267\270\324\354\342\264\302 \312\301\322\244\301\244\315\301\276\324\307\340\265\315\303\217\341\313\213\247\273\303\320\340\267\310\344\267\302\343\271\276\303\320\272\303\301\303\322\252\331\273\266\321\301\300\217" + +cat <<END > Fontmap +/Garuda (${top_builddir}nf/${fprefix}Garuda${fsuffix}); +/Garuda-Oblique (${top_builddir}nf/${fprefix}Garuda-Oblique${fsuffix}); +/Garuda-Bold (${top_builddir}nf/${fprefix}Garuda-Bold${fsuffix}); +/Garuda-BoldOblique (${top_builddir}nf/${fprefix}Garuda-BoldOblique${fsuffix}); +/Kinnari (${top_builddir}nf/${fprefix}Kinnari${fsuffix}); +/Kinnari-Oblique (${top_builddir}nf/${fprefix}Kinnari-Oblique${fsuffix}); +/Kinnari-Italic (${top_builddir}nf/${fprefix}Kinnari-Italic${fsuffix}); +/Kinnari-Bold (${top_builddir}nf/${fprefix}Kinnari-Bold${fsuffix}); +/Kinnari-BoldOblique (${top_builddir}nf/${fprefix}Kinnari-BoldOblique${fsuffix}); +/Kinnari-BoldItalic (${top_builddir}nf/${fprefix}Kinnari-BoldItalic${fsuffix}); +/Norasi (${top_builddir}nf/${fprefix}Norasi${fsuffix}); +/Norasi-Oblique (${top_builddir}nf/${fprefix}Norasi-Oblique${fsuffix}); +/Norasi-Italic (${top_builddir}nf/${fprefix}Norasi-Italic${fsuffix}); +/Norasi-Bold (${top_builddir}nf/${fprefix}Norasi-Bold${fsuffix}); +/Norasi-BoldOblique (${top_builddir}nf/${fprefix}Norasi-BoldOblique${fsuffix}); +/Norasi-BoldItalic (${top_builddir}nf/${fprefix}Norasi-BoldItalic${fsuffix}); +/Loma (${top_builddir}nectec/${fprefix}Loma${fsuffix}); +/Loma-Oblique (${top_builddir}nectec/${fprefix}Loma-Oblique${fsuffix}); +/Loma-Bold (${top_builddir}nectec/${fprefix}Loma-Bold${fsuffix}); +/Loma-BoldOblique (${top_builddir}nectec/${fprefix}Loma-BoldOblique${fsuffix}); +/TlwgMono (${top_builddir}tlwg/${fprefix}TlwgMono${fsuffix}); +/TlwgMono-Oblique (${top_builddir}tlwg/${fprefix}TlwgMono-Oblique${fsuffix}); +/TlwgMono-Bold (${top_builddir}tlwg/${fprefix}TlwgMono-Bold${fsuffix}); +/TlwgMono-BoldOblique (${top_builddir}tlwg/${fprefix}TlwgMono-BoldOblique${fsuffix}); +/TlwgTypewriter (${top_builddir}tlwg/${fprefix}TlwgTypewriter${fsuffix}); +/TlwgTypewriter-Oblique (${top_builddir}tlwg/${fprefix}TlwgTypewriter-Oblique${fsuffix}); +/TlwgTypewriter-Bold (${top_builddir}tlwg/${fprefix}TlwgTypewriter-Bold${fsuffix}); +/TlwgTypewriter-BoldOblique (${top_builddir}tlwg/${fprefix}TlwgTypewriter-BoldOblique${fsuffix}); +/TlwgTypist (${top_builddir}tlwg/${fprefix}TlwgTypist${fsuffix}); +/TlwgTypist-Oblique (${top_builddir}tlwg/${fprefix}TlwgTypist-Oblique${fsuffix}); +/TlwgTypist-Bold (${top_builddir}tlwg/${fprefix}TlwgTypist-Bold${fsuffix}); +/TlwgTypist-BoldOblique (${top_builddir}tlwg/${fprefix}TlwgTypist-BoldOblique${fsuffix}); +/Sawasdee (${top_builddir}tlwg/${fprefix}Sawasdee${fsuffix}); +/Sawasdee-Oblique (${top_builddir}tlwg/${fprefix}Sawasdee-Oblique${fsuffix}); +/Sawasdee-Bold (${top_builddir}tlwg/${fprefix}Sawasdee-Bold${fsuffix}); +/Sawasdee-BoldOblique (${top_builddir}tlwg/${fprefix}Sawasdee-BoldOblique${fsuffix}); +/Waree (${top_builddir}tlwg/${fprefix}Waree${fsuffix}); +/Waree-Oblique (${top_builddir}tlwg/${fprefix}Waree-Oblique${fsuffix}); +/Waree-Bold (${top_builddir}tlwg/${fprefix}Waree-Bold${fsuffix}); +/Waree-BoldOblique (${top_builddir}tlwg/${fprefix}Waree-BoldOblique${fsuffix}); +/Umpush-Light (${top_builddir}tlwg/${fprefix}Umpush-Light${fsuffix}); +/Umpush-LightOblique (${top_builddir}tlwg/${fprefix}Umpush-LightOblique${fsuffix}); +/Umpush (${top_builddir}tlwg/${fprefix}Umpush${fsuffix}); +/Umpush-Oblique (${top_builddir}tlwg/${fprefix}Umpush-Oblique${fsuffix}); +/Umpush-Bold (${top_builddir}tlwg/${fprefix}Umpush-Bold${fsuffix}); +/Umpush-BoldOblique (${top_builddir}tlwg/${fprefix}Umpush-BoldOblique${fsuffix}); +/Purisa (${top_builddir}tlwg/${fprefix}Purisa${fsuffix}); +END + +for font in $FONTS; do +# +# Create Postscript first +# + cat <<EOF > ${font}.ps # output encoding +/cm {28.35 mul} def +/TIS-620-2Encoding [ +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash +/zero /one /two /three /four /five /six /seven +/eight /nine /colon /semicolon /less /equal /greater /question +/at /A /B /C /D /E /F /G +/H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W +/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore +/grave /a /b /c /d /e /f /g +/h /i /j /k /l /m /n /o +/p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef +/uni0E10.descless /uni0E34.left /uni0E35.left /uni0E36.left /uni0E37.left /ellipsis /uni0E48.low_left /uni0E49.low_left +/uni0E4A.low_left /uni0E4B.low_left /uni0E4C.low_left /uni0E48.low /uni0E49.low /uni0E4A.low /uni0E4B.low /uni0E4C.low +/uni0E0D.descless /quoteleft /quoteright /quotedblleft /quotedblright /bullet /endash /emdash +/uni0E31.left /uni0E4D.left /uni0E47.left /uni0E48.left /uni0E49.left /uni0E4A.left /uni0A4B.left /uni0E4C.left +/nonbreakingspace /uni0E01 /uni0E02 /uni0E03 /uni0E04 /uni0E05 /uni0E06 /uni0E07 +/uni0E08 /uni0E09 /uni0E0A /uni0E0B /uni0E0C /uni0E0D /uni0E0E /uni0E0F +/uni0E10 /uni0E11 /uni0E12 /uni0E13 /uni0E14 /uni0E15 /uni0E16 /uni0E17 +/uni0E18 /uni0E19 /uni0E1A /uni0E1B /uni0E1C /uni0E1D /uni0E1E /uni0E1F +/uni0E20 /uni0E21 /uni0E22 /uni0E23 /uni0E24 /uni0E25 /uni0E26 /uni0E27 +/uni0E28 /uni0E29 /uni0E2A /uni0E2B /uni0E2C /uni0E2D /uni0E2E /uni0E2F +/uni0E30 /uni0E31 /uni0E32 /uni0E33 /uni0E34 /uni0E35 /uni0E36 /uni0E37 +/uni0E38 /uni0E39 /uni0E3A /.notdef /.notdef /.notdef /.notdef /uni0E3F +/uni0E40 /uni0E41 /uni0E42 /uni0E43 /uni0E44 /uni0E45 /uni0E46 /uni0E47 +/uni0E48 /uni0E49 /uni0E4A /uni0E4B /uni0E4C /uni0E4D /uni0E4E /uni0E4F +/uni0E50 /uni0E51 /uni0E52 /uni0E53 /uni0E54 /uni0E55 /uni0E56 /uni0E57 +/uni0E58 /uni0E59 /uni0E5A /uni0E5B /uni0E38.low /uni0E39.low /uni0E3A.low /dottedcircle +] readonly def +/RE { % /NewFontName [NewEncodingArray] /FontName RE - + findfont dup length dict begin + { % copy font dictionary into new dict + 1 index /FID ne + {def} {pop pop} ifelse + } forall + /Encoding exch def + /FontName 1 index def + currentdict definefont pop + end +} bind def +/CurrentV 26 cm def +/${font}-TIS-620-2 TIS-620-2Encoding /$font RE +/${font}-TIS-620-2 findfont 24 scalefont setfont +2 cm CurrentV moveto +(${font}) show +/CurrentV CurrentV 24 sub def +EOF +# +# Print a Thai text sample for each size (point) +# +for point in 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24; do + cat <<EOF >> ${font}.ps +%% $point pt +/${font}-TIS-620-2 findfont $point scalefont setfont +2 cm CurrentV moveto (${point}pt) show +4 cm CurrentV moveto (${PHRASE}) show +/CurrentV CurrentV $point sub def +EOF +done +# +# Print a English text sample for each size (point) +# +for point in 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24; do + cat <<EOF >> ${font}.ps +%% $point pt +/${font}-TIS-620-2 findfont $point scalefont setfont +2 cm CurrentV moveto (${point}pt) show +4 cm CurrentV moveto (The quick brown fox jumps over the lazy dog.) show +/CurrentV CurrentV $point sub def +EOF +done +echo showpage >> ${font}.ps +# +# Output the poem +# +point=16 +cat <<EOF >> ${font}.ps +/CurrentV 20 cm def +/${font}-TIS-620-2 findfont $point scalefont setfont +4 cm CurrentV moveto +($POEM_L1) show +/CurrentV CurrentV $point sub def +4 cm CurrentV moveto +($POEM_L2) show +/CurrentV CurrentV $point sub def +4 cm CurrentV moveto +($POEM_L3) show +/CurrentV CurrentV $point sub def +4 cm CurrentV moveto +($POEM_L4) show +/CurrentV CurrentV $point sub def +4 cm CurrentV moveto +($POEM_L5) show +/CurrentV CurrentV $point sub def +4 cm CurrentV moveto +($POEM_L6) show +/CurrentV CurrentV $point sub def +4 cm CurrentV moveto +($POEM_L7) show +/CurrentV CurrentV $point sub def +4 cm CurrentV moveto +($POEM_L8) show +/CurrentV CurrentV $point $point add sub def +4 cm CurrentV moveto +/${font}-TIS-620-2 findfont 9 scalefont setfont +($CIT) show +showpage +EOF +# +# Make glyph table (DoFont) +# +cat <<EOF >> ${font}.ps +%% DoFont +(prfont.ps) runlibfile +/$font DoFont +EOF + + gs -sOutputFile=${fprefix}${font}${fsuffix}.pdf -sDEVICE=pdfwrite -dNOPAUSE -dBATCH ${font}.ps +rm ${font}.ps + + echo ----- Wrote ${fprefix}${font}${fsuffix}.pdf ----- +done +rm -f Fontmap + |