summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/fonts/fonts-tlwg/tests/gen-pdfsample.sh
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/fonts/fonts-tlwg/tests/gen-pdfsample.sh')
-rwxr-xr-xMaster/texmf-dist/source/fonts/fonts-tlwg/tests/gen-pdfsample.sh221
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
+