📄 shell.lib
字号:
(*m) /mu (\244\304) (") (*n) /nu (\244\305) (") (*o) /omicron (\244\307) (") (*p) /pi (\244\310) (") (*h) /theta (\244\300) (") (*r) /rho (\244\311) (") (*s) /sigma (\244\313) (") (*t) /tau (\244\314) (") (*u) /upsilon (\244\315) (") (---) /omega1 (\244\336) (") (*w) /omega (\244\321) (") (*c) /xi (\244\306) (") (*q) /psi (\244\320) (") (*z) /zeta (\244\276) (") (---) /braceleft (or) /bar (---) /braceright (ap) /similar (---) /Upsilon1 (fm) /minute (<=) /lessequal (fr) /fraction % devpost character (if) /infinity (fn) /florin % devpost character (---) /club (---) /diamond (---) /heart (---) /spade (ab) /arrowboth (<-) /arrowleft (ua) /arrowup (->) /arrowright (da) /arrowdown (de) /degree (+-) /plusminus (---) /second (>=) /greaterequal (mu) /multiply (pt) /proportional (pd) /partialdiff (bu) /bullet (di) /divide (!=) /notequal (==) /equivalence (~~) /approxequal (el) /ellipsis (av) /arrowvertex (ah) /arrowhorizex (CR) /carriagereturn (af) /aleph (If) /Ifraktur (Rf) /Rfraktur (ws) /weierstrass (Ox) /circlemultiply (O+) /circleplus (es) /emptyset (ca) /intersection (cu) /union (sp) /propersuperset (ip) /reflexsuperset (!b) /notsubset (sb) /propersubset (ib) /reflexsubset (mo) /element (!m) /notelement (an) /angle (gr) /gradient (rg) /registerserif (co) /copyrightserif (tm) /trademarkserif (---) /product (sr) /radical (c.) /dotmath (no) /logicalnot (l&) /logicaland (l|) /logicalor (---) /arrowdblboth (---) /arrowdblleft (---) /arrowdblup (---) /arrowdblright (---) /arrowdbldown (lz) /lozenge (b<) /angleleft (RG) /registersans (CO) /copyrightsans (TM) /trademarksans (---) /summation (LT) /parenlefttp (br) /parenleftex (LX) (") % synonym (LB) /parenleftbt (lc) /bracketlefttp (lx) /bracketleftex (lf) /bracketleftbt (lt) /bracelefttp (lk) /braceleftmid (lb) /braceleftbt (bv) /braceex (|) (") % synonym (b>) /angleright (is) /integral (---) /integraltp (---) /integralex (---) /integralbt (RT) /parenrighttp (RX) /parenrightex (RB) /parenrightbt (rc) /bracketrighttp (rx) /bracketrightex (rf) /bracketrightbt (rt) /bracerighttp (rk) /bracerightmid (rb) /bracerightbt (~=) (55 0 1) % charlib //End of SymbolCharset}SpecialCharset() { cat <<-'//End of SpecialCharset' (ru) /underscore ('') /quotedblright % devpost character (``) /quotedblleft % devpost character (dg) /dagger % devpost character (dd) /daggerdbl % devpost character (en) /endash % devpost character (\\-) (") % synonym (em) /emdash% (ff) (60 2 1) % charlib% (Fi) (84 2 1) % charlib% (Fl) (84 2 1) % charlib (14) (75 2 1) % charlib (12) (75 2 1) % charlib (34) (75 2 1) % charlib (bx) (50 2 1) % charlib (ob) (38 2 1) % charlib (ci) (75 0 1) % charlib (sq) (50 2 1) % charlib (Sl) (50 2 1) % charlib (L1) (110 1 1) % charlib (LA) (110 1 1) % charlib (LV) (110 3 1) % charlib (LH) (210 1 1) % charlib (lh) (100 0 1) % charlib (rh) (100 0 1) % charlib (lH) (100 0 1) % charlib (rH) (100 0 1) % charlib (PC) (220 2 1) % charlib (DG) (185 2 1) % charlib //End of SpecialCharset}## Latin1 ensures a font uses the ISOLatin1Encoding vector, although only# text fonts should be re-encoded. Downloading the Encoding vector doesn't# often make sense. No ISOLatin1Encoding array likely means ROM based fonts# on your printer are incomplete. Type 1 fonts with a full Latin1 character# set appeared sometime after Version 50.0.#Latin1() { if [ "$DOWNLOADVECTOR" = TRUE ]; then cat <<-'//End of ISOLatin1Encoding' /ISOLatin1Encoding [ /.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 /quoteright /parenleft /parenright /asterisk /plus /comma /minus /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 /quoteleft /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 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def //End of ISOLatin1Encoding fi echo "ISOLatin1Encoding /$1 ReEncode"}## Generating functions output PostScript programs that build font width# tables or a typesetter description file. Send the program to a printer# and the complete table will come back on the serial port. All write on# stdout and assume the prologue and other required PostScript files are# all available.#Proportional() { echo "/unitwidth $UNITWIDTH def" echo "/resolution $RESOLUTION def" echo "/octalescapes $OCTALESCAPES def" echo "/charset [" # Get <>_ and | from S. Use accents for ascii ^ and ~. StandardCharset | awk ' $1 == "(<)" && $2 == "/less" {$1 = "(---)"} $1 == "(>)" && $2 == "/greater" {$1 = "(---)"} $1 == "(_)" && $2 == "/underscore" {$1 = "(---)"} $1 == "(|)" && $2 == "/bar" {$1 = "(---)"} $1 == "(^)" && $2 == "/asciicircum" { printf "(^)\t/circumflex\n" $1 = "(---)" } $1 == "(~)" && $2 == "/asciitilde" { printf "(~)\t/tilde\n" $1 = "(---)" } {printf "%s\t%s\n", $1, $2} ' echo "] def" Latin1 $2 echo "/$2 SelectFont" echo "(opO) SetAscender" echo "(name $1\\\\n) Print" echo "(fontname $2\\\\n) Print" echo "/$1 NamedInPrologue" echo "(spacewidth ) Print 32 GetWidth Print (\n) Print" echo "(charset\\\\n) Print" echo "BuildFontCharset"}FixedWidth() { echo "/unitwidth $UNITWIDTH def" echo "/resolution $RESOLUTION def" echo "/octalescapes $OCTALESCAPES def" echo "/charset [" StandardCharset echo "] def" Latin1 $2 echo "/$2 SelectFont" echo "(opO) SetAscender" echo "(name $1\\\\n) Print" echo "(fontname $2\\\\n) Print" echo "/$1 NamedInPrologue" echo "(spacewidth ) Print 32 GetWidth Print (\n) Print" echo "(charset\\\\n) Print" echo "BuildFontCharset"}Dingbats() { echo "/unitwidth $UNITWIDTH def" echo "/resolution $RESOLUTION def" echo "/octalescapes $OCTALESCAPES def" echo "/charset [" DingbatsCharset | awk '$1 != "(---)" && $2 ~ /^\/[a-zA-Z]/ { printf "%s\tISOLatin1Encoding %s GetCode\n", $1, $2 }' echo "] def" echo "/$2 SelectFont" echo "( ) SetAscender" echo "(name $1\\\\n) Print" echo "(fontname $2\\\\n) Print" echo "/$1 NamedInPrologue" echo "(charset\\\\n) Print" echo "BuildFontCharset"}Greek() { echo "/unitwidth $UNITWIDTH def" echo "/resolution $RESOLUTION def" echo "/charset [" SymbolCharset | awk ' BEGIN {hit = -1} $1 ~ /\(\*[a-zA-Z]\)/ {print; hit = NR} $2 == "(\")" && hit == NR-1 {print; hit = NR} ' echo "] def" echo "/$2 SelectFont" echo "(orO) SetAscender" echo "(name $1\\\\n) Print" echo "(fontname $2\\\\n) Print" echo "/$1 NamedInPrologue" echo "(spacewidth ) Print 32 GetWidth Print (\n) Print" echo "(charset\\\\n) Print" echo "BuildFontCharset"}Symbol() { echo "/unitwidth $UNITWIDTH def" echo "/resolution $RESOLUTION def" echo "/charset [" SymbolCharset echo "] def" echo "ChangeMetrics" echo "/S SelectFont" echo "(orO) SetAscender" echo "(name $1\\\\n) Print" echo "(fontname $2\\\\n) Print" echo "/$1 NamedInPrologue" echo "(special\\\\n) Print" echo "(charset\\\\n) Print" echo "BuildFontCharset"}Special() { echo "/unitwidth $UNITWIDTH def" echo "/resolution $RESOLUTION def" echo "/charset [" SpecialCharset echo "] def" echo "ChangeMetrics" echo "/S1 SelectFont" echo "(# Times-Roman special font\\\\n) Print" echo "(name $1\\\\n) Print" echo "(fontname $2\\\\n) Print" echo "/$1 NamedInPrologue" echo "(special\\\\n) Print" echo "(charset\\\\n) Print" echo "BuildFontCharset"}## The DESC file doesn't have to be built on a printer. It's only here for# consistency.#Description() { echo "/charset [" # awk - so the stack doesn't overflow StandardCharset | awk '$1 !~ /\(\\[0-9]/ {print $1}' SymbolCharset | awk '$1 !~ /\(\\[0-9]/ {print $1}' SpecialCharset | awk '$1 !~ /\(\\[0-9]/ {print $1}' echo "] def" cat <<-//DESC (#Device Description - utf character set PDL PostScript Encoding Latin1 fonts 10 R I B BI CW H HI HB S1 S sizes 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 40 42 44 46 48 50 52 54 56 58 60 64 68 72 78 84 90 96 100 105 110 115 120 125 130 135 140 145 150 155 160 0 res $RESOLUTION hor 1 vert 1 unitwidth $UNITWIDTH ) Print //DESC echo "(charset\\\\n) Print" echo "BuildDescCharset" echo "(\\\\n) Print"}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -