From 8760c02a62dd13662d3d6a4eb57de96136f70c42 Mon Sep 17 00:00:00 2001 From: Wim Stockman Date: Fri, 10 Mar 2023 23:45:32 +0100 Subject: [PATCH] Added Latin9 ISO-8859-15 support --- 885915.txt | 291 ++++++++++++++++++++++++++++++++++++++ Makefile.am | 2 +- README | 1 + afmlib/Makefile-encodings | 5 +- afmlib/Makefile.am | 2 +- afmlib/afm.c | 4 + afmlib/afm.h | 1 + afmlib/afmint.h | 1 + afmlib/e_885915.c | 284 +++++++++++++++++++++++++++++++++++++ docs/enscript.man | 3 + lib/885915.enc | 91 ++++++++++++ lib/Makefile-encodings | 5 +- lib/Makefile.am | 2 +- src/gsint.h | 1 + src/main.c | 1 + 15 files changed, 689 insertions(+), 5 deletions(-) create mode 100644 885915.txt create mode 100644 afmlib/e_885915.c create mode 100644 lib/885915.enc diff --git a/885915.txt b/885915.txt new file mode 100644 index 0000000..0f79642 --- /dev/null +++ b/885915.txt @@ -0,0 +1,291 @@ + ISO-8859-15 (ISO Latin9) character set + +octal hex PostScript HTML entity character +---------------------------------------------------------------------- +000 0x00 non-printable +001 0x01 non-printable +002 0x02 non-printable +003 0x03 non-printable +004 0x04 non-printable +005 0x05 non-printable +006 0x06 non-printable +007 0x07 non-printable + +010 0x08 non-printable +011 0x09 non-printable +012 0x0a non-printable +013 0x0b non-printable +014 0x0c non-printable +015 0x0d non-printable +016 0x0e non-printable +017 0x0f non-printable + +020 0x10 non-printable +021 0x11 non-printable +022 0x12 non-printable +023 0x13 non-printable +024 0x14 non-printable +025 0x15 non-printable +026 0x16 non-printable +027 0x17 non-printable + +030 0x18 non-printable +031 0x19 non-printable +032 0x1a non-printable +033 0x1b non-printable +034 0x1c non-printable +035 0x1d non-printable +036 0x1e non-printable +037 0x1f non-printable + +040 0x20 /space +041 0x21 /exclam ! +042 0x22 /quotedbl " " +043 0x23 /numbersign # +044 0x24 /dollar $ +045 0x25 /percent % +046 0x26 /ampersand & & +047 0x27 /quoteright ' + +050 0x28 /parenleft ( +051 0x29 /parenright ) +052 0x2a /asterisk * +053 0x2b /plus + +054 0x2c /comma , +055 0x2d /hyphen - +056 0x2e /period . +057 0x2f /slash / + +060 0x30 /zero 0 +061 0x31 /one 1 +062 0x32 /two 2 +063 0x33 /three 3 +064 0x34 /four 4 +065 0x35 /five 5 +066 0x36 /six 6 +067 0x37 /seven 7 + +070 0x38 /eight 8 +071 0x39 /nine 9 +072 0x3a /colon : +073 0x3b /semicolon ; +074 0x3c /less < < +075 0x3d /equal = +076 0x3e /greater > > +077 0x3f /question ? + +0100 0x40 /at @ +0101 0x41 /A A +0102 0x42 /B B +0103 0x43 /C C +0104 0x44 /D D +0105 0x45 /E E +0106 0x46 /F F +0107 0x47 /G G + +0110 0x48 /H H +0111 0x49 /I I +0112 0x4a /J J +0113 0x4b /K K +0114 0x4c /L L +0115 0x4d /M M +0116 0x4e /N N +0117 0x4f /O O + +0120 0x50 /P P +0121 0x51 /Q Q +0122 0x52 /R R +0123 0x53 /S S +0124 0x54 /T T +0125 0x55 /U U +0126 0x56 /V V +0127 0x57 /W W + +0130 0x58 /X X +0131 0x59 /Y Y +0132 0x5a /Z Z +0133 0x5b /bracketleft [ +0134 0x5c /backslash \ +0135 0x5d /bracketright ] +0136 0x5e /asciicircum ^ +0137 0x5f /underscore _ + +0140 0x60 /quoteleft ` +0141 0x61 /a a +0142 0x62 /b b +0143 0x63 /c c +0144 0x64 /d d +0145 0x65 /e e +0146 0x66 /f f +0147 0x67 /g g + +0150 0x68 /h h +0151 0x69 /i i +0152 0x6a /j j +0153 0x6b /k k +0154 0x6c /l l +0155 0x6d /m m +0156 0x6e /n n +0157 0x6f /o o + +0160 0x70 /p p +0161 0x71 /q q +0162 0x72 /r r +0163 0x73 /s s +0164 0x74 /t t +0165 0x75 /u u +0166 0x76 /v v +0167 0x77 /w w + +0170 0x78 /x x +0171 0x79 /y y +0172 0x7a /z z +0173 0x7b /braceleft { +0174 0x7c /bar | +0175 0x7d /braceright } +0176 0x7e /tilde ~ +0177 0x7f non-printable + +0200 0x80 non-printable +0201 0x81 non-printable +0202 0x82 non-printable +0203 0x83 non-printable +0204 0x84 non-printable +0205 0x85 non-printable +0206 0x86 non-printable +0207 0x87 non-printable + +0210 0x88 non-printable +0211 0x89 non-printable +0212 0x8a non-printable +0213 0x8b non-printable +0214 0x8c non-printable +0215 0x8d non-printable +0216 0x8e non-printable +0217 0x8f non-printable + +0220 0x90 non-printable +0221 0x91 non-printable +0222 0x92 non-printable +0223 0x93 non-printable +0224 0x94 non-printable +0225 0x95 non-printable +0226 0x96 non-printable +0227 0x97 non-printable + +0230 0x98 non-printable +0231 0x99 non-printable +0232 0x9a non-printable +0233 0x9b non-printable +0234 0x9c non-printable +0235 0x9d non-printable +0236 0x9e non-printable +0237 0x9f non-printable + +0240 0xa0 /space   +0241 0xa1 /exclamdown ¡ +0242 0xa2 /cent ¢ +0243 0xa3 /sterling £ +0244 0xa4 /Euro ¤ +0245 0xa5 /yen ¥ +0246 0xa6 /Scaron ¦ +0247 0xa7 /section § + +0250 0xa8 /scaron ¨ +0251 0xa9 /copyright © +0252 0xaa /ordfeminine ª +0253 0xab /guillemotleft « +0254 0xac /logicalnot ¬ +0255 0xad /hyphen ­ +0256 0xae /registered ® +0257 0xaf /macron ¯ + +0260 0xb0 /degree ° +0261 0xb1 /plusminus ± +0262 0xb2 /twosuperior ² +0263 0xb3 /threesuperior ³ +0264 0xb4 /Zcaron ´ +0265 0xb5 /mu µ +0266 0xb6 /paragraph ¶ +0267 0xb7 /bullet · + +0270 0xb8 /zcaron ¸ +0271 0xb9 /onesuperior ¹ +0272 0xba /ordmasculine º +0273 0xbb /guillemotright » +0274 0xbc /OE ¼ +0275 0xbd /oe ½ +0276 0xbe /Ydieresis ¾ +0277 0xbf /questiondown ¿ + +0300 0xc0 /Agrave À À +0301 0xc1 /Aacute Á Á +0302 0xc2 /Acircumflex   +0303 0xc3 /Atilde à à +0304 0xc4 /Adieresis Ä Ä +0305 0xc5 /Aring Å Å +0306 0xc6 /AE Æ Æ +0307 0xc7 /Ccedilla Ç Ç + +0310 0xc8 /Egrave È È +0311 0xc9 /Eacute É É +0312 0xca /Ecircumflex Ê Ê +0313 0xcb /Edieresis Ë Ë +0314 0xcc /Igrave Ì Ì +0315 0xcd /Iacute Í Í +0316 0xce /Icircumflex Î Î +0317 0xcf /Idieresis Ï Ï + +0320 0xd0 /Eth Ð Ð +0321 0xd1 /Ntilde Ñ Ñ +0322 0xd2 /Ograve Ò Ò +0323 0xd3 /Oacute Ó Ó +0324 0xd4 /Ocircumflex Ô Ô +0325 0xd5 /Otilde Õ Õ +0326 0xd6 /Odieresis Ö Ö +0327 0xd7 /multiply × + +0330 0xd8 /Oslash Ø Ø +0331 0xd9 /Ugrave Ù Ù +0332 0xda /Uacute Ú Ú +0333 0xdb /Ucircumflex Û Û +0334 0xdc /Udieresis Ü Ü +0335 0xdd /Yacute Ý Ý +0336 0xde /Thorn Þ Þ +0337 0xdf /germandbls ß ß + +0340 0xe0 /agrave à à +0341 0xe1 /aacute á á +0342 0xe2 /acircumflex â â +0343 0xe3 /atilde ã ã +0344 0xe4 /adieresis ä ä +0345 0xe5 /aring å å +0346 0xe6 /ae æ æ +0347 0xe7 /cedilla ç ç + +0350 0xe8 /egrave è è +0351 0xe9 /eacute é é +0352 0xea /ecircumflex ê ê +0353 0xeb /edieresis ë ë +0354 0xec /igrave ì ì +0355 0xed /iacute í í +0356 0xee /icircumflex î î +0357 0xef /idieresis ï ï + +0360 0xf0 /eth ð ð +0361 0xf1 /ntilde ñ ñ +0362 0xf2 /ograve ò ò +0363 0xf3 /oacute ó ó +0364 0xf4 /ocircumflex ô ô +0365 0xf5 /otilde õ õ +0366 0xf6 /odieresis ö ö +0367 0xf7 /divide ÷ + +0370 0xf8 /oslash ø ø +0371 0xf9 /ugrave ù ù +0372 0xfa /uacute ú ú +0373 0xfb /ucircumflex û û +0374 0xfc /udieresis ü ü +0375 0xfd /yacute ý ý +0376 0xfe /thorn þ þ +0377 0xff /ydieresis ÿ ÿ diff --git a/Makefile.am b/Makefile.am index dedabd6..632cb8b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -26,7 +26,7 @@ SUBDIRS = intl compat afm afmlib lib scripts src po states docs w32 EXTRA_DIST = README.ESCAPES README.DOS ascii.txt \ asciifise.txt asciidkno.txt 88591.txt 88592.txt 88593.txt 88594.txt \ -88595.txt 88597.txt 88599.txt 885910.txt ibmpc.txt mac.txt vms.txt \ +88595.txt 88597.txt 88599.txt 885910.txt 885915.txt ibmpc.txt mac.txt vms.txt \ hp8.txt koi8.txt mtr.eps mtr_small.eps mtr_tiny.eps po/ChangeLog.old ACLOCAL_AMFLAGS = -I m4 diff --git a/README b/README index d2f1c4a..a4357db 100644 --- a/README +++ b/README @@ -116,6 +116,7 @@ Enscript supports following character sets: - ISO-8859-4 ISO Latin4 - ISO-8859-5 ISO Cyrillic - ISO-8859-7 ISO Greek + - ISO-8859-15 ISO Latin9 - ascii 7 bit ascii - ascii fi se 7 bit ascii with following encodings: '{' = ä (adieresis) diff --git a/afmlib/Makefile-encodings b/afmlib/Makefile-encodings index f68c75b..9a12fab 100644 --- a/afmlib/Makefile-encodings +++ b/afmlib/Makefile-encodings @@ -22,7 +22,7 @@ # ENCODINGS = e_88591.c e_88592.c e_88593.c e_88594.c e_88595.c \ -e_88597.c e_88599.c e_885910.c e_pc.c e_mac.c e_vms.c e_hp8.c e_koi8.c +e_88597.c e_88599.c e_885910.c e_885915.c e_pc.c e_mac.c e_vms.c e_hp8.c e_koi8.c all: $(ENCODINGS) @@ -53,6 +53,9 @@ e_88599.c: make-encoding.pl ../88599.txt e_885910.c: make-encoding.pl ../885910.txt ./make-encoding.pl ../885910.txt >e_885910.c +e_885915.c: make-encoding.pl ../885915.txt + ./make-encoding.pl ../885915.txt >e_885915.c + e_pc.c: make-encoding.pl ../ibmpc.txt ./make-encoding.pl ../ibmpc.txt >e_pc.c diff --git a/afmlib/Makefile.am b/afmlib/Makefile.am index 33db4b0..dcb52cd 100644 --- a/afmlib/Makefile.am +++ b/afmlib/Makefile.am @@ -23,7 +23,7 @@ noinst_LIBRARIES = libafm.a libafm_a_SOURCES = afm.c afmparse.c strhash.c e_88591.c e_88592.c \ -e_88593.c e_88594.c e_88595.c e_88597.c e_88599.c e_885910.c e_pc.c \ +e_88593.c e_88594.c e_88595.c e_88597.c e_88599.c e_885915.c e_885910.c e_pc.c \ e_mac.c e_vms.c e_hp8.c e_koi8.c deffont.c noinst_HEADERS = afm.h afmint.h strhash.h diff --git a/afmlib/afm.c b/afmlib/afm.c index 3b82bca..a9925ed 100644 --- a/afmlib/afm.c +++ b/afmlib/afm.c @@ -647,6 +647,10 @@ afm_font_encoding (AFMFont font, AFMEncoding enc, unsigned int flags) apply_encoding (font, afm_885910_encoding, flags); break; + case AFM_ENCODING_ISO_8859_15: + apply_encoding (font, afm_885915_encoding, flags); + break; + case AFM_ENCODING_IBMPC: apply_encoding (font, afm_ibmpc_encoding, flags); break; diff --git a/afmlib/afm.h b/afmlib/afm.h index 19855ce..44e081f 100644 --- a/afmlib/afm.h +++ b/afmlib/afm.h @@ -281,6 +281,7 @@ typedef enum AFM_ENCODING_ISO_8859_7, /* ISO-8859-7 */ AFM_ENCODING_ISO_8859_9, /* ISO-8859-9 */ AFM_ENCODING_ISO_8859_10, /* ISO-8859-10 */ + AFM_ENCODING_ISO_8859_15, /* ISO-8859-15 */ AFM_ENCODING_IBMPC, /* IBM PC */ AFM_ENCODING_ASCII, /* 7 bit ASCII */ AFM_ENCODING_MAC, /* Mac */ diff --git a/afmlib/afmint.h b/afmlib/afmint.h index 7995ae5..4931455 100644 --- a/afmlib/afmint.h +++ b/afmlib/afmint.h @@ -256,6 +256,7 @@ extern AFMEncodingTable afm_88595_encoding[]; extern AFMEncodingTable afm_88597_encoding[]; extern AFMEncodingTable afm_88599_encoding[]; extern AFMEncodingTable afm_885910_encoding[]; +extern AFMEncodingTable afm_885915_encoding[]; extern AFMEncodingTable afm_ibmpc_encoding[]; extern AFMEncodingTable afm_mac_encoding[]; extern AFMEncodingTable afm_vms_encoding[]; diff --git a/afmlib/e_885915.c b/afmlib/e_885915.c new file mode 100644 index 0000000..d2d330c --- /dev/null +++ b/afmlib/e_885915.c @@ -0,0 +1,284 @@ +/* + * AFM 885915 encoding. + * + * This file is automatically generated from file `885915.txt'. If you + * have any corrections to this file, please, edit file `885915.txt' instead. + */ + +/* + * Enscript is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Enscript is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Enscript. If not, see . + */ + +#include "afmint.h" + +AFMEncodingTable afm_885915_encoding[] = +{ + {0x00, AFM_ENC_NONE}, + {0x01, AFM_ENC_NONE}, + {0x02, AFM_ENC_NONE}, + {0x03, AFM_ENC_NONE}, + {0x04, AFM_ENC_NONE}, + {0x05, AFM_ENC_NONE}, + {0x06, AFM_ENC_NONE}, + {0x07, AFM_ENC_NONE}, + {0x08, AFM_ENC_NONE}, + {0x09, AFM_ENC_NONE}, + {0x0a, AFM_ENC_NONE}, + {0x0b, AFM_ENC_NONE}, + {0x0c, AFM_ENC_NONE}, + {0x0d, AFM_ENC_NONE}, + {0x0e, AFM_ENC_NONE}, + {0x0f, AFM_ENC_NONE}, + {0x10, AFM_ENC_NONE}, + {0x11, AFM_ENC_NONE}, + {0x12, AFM_ENC_NONE}, + {0x13, AFM_ENC_NONE}, + {0x14, AFM_ENC_NONE}, + {0x15, AFM_ENC_NONE}, + {0x16, AFM_ENC_NONE}, + {0x17, AFM_ENC_NONE}, + {0x18, AFM_ENC_NONE}, + {0x19, AFM_ENC_NONE}, + {0x1a, AFM_ENC_NONE}, + {0x1b, AFM_ENC_NONE}, + {0x1c, AFM_ENC_NONE}, + {0x1d, AFM_ENC_NONE}, + {0x1e, AFM_ENC_NONE}, + {0x1f, AFM_ENC_NONE}, + {0x20, "space"}, + {0x21, "exclam"}, + {0x22, "quotedbl"}, + {0x23, "numbersign"}, + {0x24, "dollar"}, + {0x25, "percent"}, + {0x26, "ampersand"}, + {0x27, "quoteright"}, + {0x28, "parenleft"}, + {0x29, "parenright"}, + {0x2a, "asterisk"}, + {0x2b, "plus"}, + {0x2c, "comma"}, + {0x2d, "hyphen"}, + {0x2e, "period"}, + {0x2f, "slash"}, + {0x30, "zero"}, + {0x31, "one"}, + {0x32, "two"}, + {0x33, "three"}, + {0x34, "four"}, + {0x35, "five"}, + {0x36, "six"}, + {0x37, "seven"}, + {0x38, "eight"}, + {0x39, "nine"}, + {0x3a, "colon"}, + {0x3b, "semicolon"}, + {0x3c, "less"}, + {0x3d, "equal"}, + {0x3e, "greater"}, + {0x3f, "question"}, + {0x40, "at"}, + {0x41, "A"}, + {0x42, "B"}, + {0x43, "C"}, + {0x44, "D"}, + {0x45, "E"}, + {0x46, "F"}, + {0x47, "G"}, + {0x48, "H"}, + {0x49, "I"}, + {0x4a, "J"}, + {0x4b, "K"}, + {0x4c, "L"}, + {0x4d, "M"}, + {0x4e, "N"}, + {0x4f, "O"}, + {0x50, "P"}, + {0x51, "Q"}, + {0x52, "R"}, + {0x53, "S"}, + {0x54, "T"}, + {0x55, "U"}, + {0x56, "V"}, + {0x57, "W"}, + {0x58, "X"}, + {0x59, "Y"}, + {0x5a, "Z"}, + {0x5b, "bracketleft"}, + {0x5c, "backslash"}, + {0x5d, "bracketright"}, + {0x5e, "asciicircum"}, + {0x5f, "underscore"}, + {0x60, "quoteleft"}, + {0x61, "a"}, + {0x62, "b"}, + {0x63, "c"}, + {0x64, "d"}, + {0x65, "e"}, + {0x66, "f"}, + {0x67, "g"}, + {0x68, "h"}, + {0x69, "i"}, + {0x6a, "j"}, + {0x6b, "k"}, + {0x6c, "l"}, + {0x6d, "m"}, + {0x6e, "n"}, + {0x6f, "o"}, + {0x70, "p"}, + {0x71, "q"}, + {0x72, "r"}, + {0x73, "s"}, + {0x74, "t"}, + {0x75, "u"}, + {0x76, "v"}, + {0x77, "w"}, + {0x78, "x"}, + {0x79, "y"}, + {0x7a, "z"}, + {0x7b, "braceleft"}, + {0x7c, "bar"}, + {0x7d, "braceright"}, + {0x7e, "tilde"}, + {0x7f, AFM_ENC_NONE}, + {0x80, AFM_ENC_NONE}, + {0x81, AFM_ENC_NONE}, + {0x82, AFM_ENC_NONE}, + {0x83, AFM_ENC_NONE}, + {0x84, AFM_ENC_NONE}, + {0x85, AFM_ENC_NONE}, + {0x86, AFM_ENC_NONE}, + {0x87, AFM_ENC_NONE}, + {0x88, AFM_ENC_NONE}, + {0x89, AFM_ENC_NONE}, + {0x8a, AFM_ENC_NONE}, + {0x8b, AFM_ENC_NONE}, + {0x8c, AFM_ENC_NONE}, + {0x8d, AFM_ENC_NONE}, + {0x8e, AFM_ENC_NONE}, + {0x8f, AFM_ENC_NONE}, + {0x90, AFM_ENC_NONE}, + {0x91, AFM_ENC_NONE}, + {0x92, AFM_ENC_NONE}, + {0x93, AFM_ENC_NONE}, + {0x94, AFM_ENC_NONE}, + {0x95, AFM_ENC_NONE}, + {0x96, AFM_ENC_NONE}, + {0x97, AFM_ENC_NONE}, + {0x98, AFM_ENC_NONE}, + {0x99, AFM_ENC_NONE}, + {0x9a, AFM_ENC_NONE}, + {0x9b, AFM_ENC_NONE}, + {0x9c, AFM_ENC_NONE}, + {0x9d, AFM_ENC_NONE}, + {0x9e, AFM_ENC_NONE}, + {0x9f, AFM_ENC_NONE}, + {0xa0, "space"}, + {0xa1, "exclamdown"}, + {0xa2, "cent"}, + {0xa3, "sterling"}, + {0xa4, "Euro"}, + {0xa5, "yen"}, + {0xa6, "Scaron"}, + {0xa7, "section"}, + {0xa8, "scaron"}, + {0xa9, "copyright"}, + {0xaa, "ordfeminine"}, + {0xab, "guillemotleft"}, + {0xac, "logicalnot"}, + {0xad, "hyphen"}, + {0xae, "registered"}, + {0xaf, "macron"}, + {0xb0, "degree"}, + {0xb1, "plusminus"}, + {0xb2, "twosuperior"}, + {0xb3, "threesuperior"}, + {0xb4, "Zcaron"}, + {0xb5, "mu"}, + {0xb6, "paragraph"}, + {0xb7, "bullet"}, + {0xb8, "zcaron"}, + {0xb9, "onesuperior"}, + {0xba, "ordmasculine"}, + {0xbb, "guillemotright"}, + {0xbc, "OE"}, + {0xbd, "oe"}, + {0xbe, "Ydieresis"}, + {0xbf, "questiondown"}, + {0xc0, "Agrave"}, + {0xc1, "Aacute"}, + {0xc2, "Acircumflex"}, + {0xc3, "Atilde"}, + {0xc4, "Adieresis"}, + {0xc5, "Aring"}, + {0xc6, "AE"}, + {0xc7, "Ccedilla"}, + {0xc8, "Egrave"}, + {0xc9, "Eacute"}, + {0xca, "Ecircumflex"}, + {0xcb, "Edieresis"}, + {0xcc, "Igrave"}, + {0xcd, "Iacute"}, + {0xce, "Icircumflex"}, + {0xcf, "Idieresis"}, + {0xd0, "Eth"}, + {0xd1, "Ntilde"}, + {0xd2, "Ograve"}, + {0xd3, "Oacute"}, + {0xd4, "Ocircumflex"}, + {0xd5, "Otilde"}, + {0xd6, "Odieresis"}, + {0xd7, "multiply"}, + {0xd8, "Oslash"}, + {0xd9, "Ugrave"}, + {0xda, "Uacute"}, + {0xdb, "Ucircumflex"}, + {0xdc, "Udieresis"}, + {0xdd, "Yacute"}, + {0xde, "Thorn"}, + {0xdf, "germandbls"}, + {0xe0, "agrave"}, + {0xe1, "aacute"}, + {0xe2, "acircumflex"}, + {0xe3, "atilde"}, + {0xe4, "adieresis"}, + {0xe5, "aring"}, + {0xe6, "ae"}, + {0xe7, "cedilla"}, + {0xe8, "egrave"}, + {0xe9, "eacute"}, + {0xea, "ecircumflex"}, + {0xeb, "edieresis"}, + {0xec, "igrave"}, + {0xed, "iacute"}, + {0xee, "icircumflex"}, + {0xef, "idieresis"}, + {0xf0, "eth"}, + {0xf1, "ntilde"}, + {0xf2, "ograve"}, + {0xf3, "oacute"}, + {0xf4, "ocircumflex"}, + {0xf5, "otilde"}, + {0xf6, "odieresis"}, + {0xf7, "divide"}, + {0xf8, "oslash"}, + {0xf9, "ugrave"}, + {0xfa, "uacute"}, + {0xfb, "ucircumflex"}, + {0xfc, "udieresis"}, + {0xfd, "yacute"}, + {0xfe, "thorn"}, + {0xff, "ydieresis"}, + {-1, NULL}, +}; diff --git a/docs/enscript.man b/docs/enscript.man index dd047bc..705530f 100644 --- a/docs/enscript.man +++ b/docs/enscript.man @@ -430,6 +430,9 @@ ISO\-8859\-9 (ISO Latin5) .B 885910, latin6 ISO\-8859\-10 (ISO Latin6) .TP 8 +.B 885915, latin9 +ISO\-8859\-15 (ISO Latin9) +.TP 8 .B ascii 7\-bit ascii .TP 8 diff --git a/lib/885915.enc b/lib/885915.enc new file mode 100644 index 0000000..36a6a15 --- /dev/null +++ b/lib/885915.enc @@ -0,0 +1,91 @@ +% +% 885915 encoding vector. +% +% This file is automatically generated from file `885915.txt'. If you +% have any corrections to this file, please, edit file `885915.txt' instead. +% + +% +% This file is part of GNU Enscript. +% +% Enscript is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% Enscript is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with Enscript. If not, see . +% + +% -- code follows this line -- +/encoding_vector [ +/.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 /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 +/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 /tilde /.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 /.notdef +/space /exclamdown /cent /sterling +/Euro /yen /Scaron /section +/scaron /copyright /ordfeminine /guillemotleft +/logicalnot /hyphen /registered /macron +/degree /plusminus /twosuperior /threesuperior +/Zcaron /mu /paragraph /bullet +/zcaron /onesuperior /ordmasculine /guillemotright +/OE /oe /Ydieresis /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 /cedilla +/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 diff --git a/lib/Makefile-encodings b/lib/Makefile-encodings index b54da39..a03c3ba 100644 --- a/lib/Makefile-encodings +++ b/lib/Makefile-encodings @@ -24,7 +24,7 @@ ENCODINGS = ascii.enc asciifise.enc asciidkno.enc ibmpc.enc mac.enc \ vms.enc hp8.enc koi8.enc 88591.enc 88592.enc 88593.enc 88594.enc \ -88595.enc 88597.enc 88599.enc 885910.enc +88595.enc 88597.enc 88599.enc 885910.enc 885915.enc all: $(ENCODINGS) @@ -64,6 +64,9 @@ ibmpc.enc: ../ibmpc.txt 885910.enc: ../885910.txt ./make-encoding.pl ../885910.txt >885910.enc +885915.enc: ../885915.txt + ./make-encoding.pl ../885915.txt >885915.enc + mac.enc: ../mac.txt ./make-encoding.pl ../mac.txt >mac.enc diff --git a/lib/Makefile.am b/lib/Makefile.am index c533c38..61fb0ac 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -24,7 +24,7 @@ pkgdata_DATA = ascii.enc asciifise.enc asciidkno.enc hp8.enc ibmpc.enc \ koi8.enc 88591.enc 88592.enc 88593.enc 88594.enc 88595.enc 88597.enc \ -88599.enc 885910.enc mac.enc ps.enc pslatin1.enc vms.enc a2ps.hdr \ +88599.enc 885910.enc 885915.enc mac.enc ps.enc pslatin1.enc vms.enc a2ps.hdr \ edd.hdr emacs.hdr enscript.hdr enscript-color.hdr frame.hdr mp.hdr \ simple.hdr squeeze.hdr enscript.pro diff --git a/src/gsint.h b/src/gsint.h index 936cc7d..dde63aa 100644 --- a/src/gsint.h +++ b/src/gsint.h @@ -176,6 +176,7 @@ typedef enum ENC_ISO_8859_7, ENC_ISO_8859_9, ENC_ISO_8859_10, + ENC_ISO_8859_15, ENC_ASCII, ENC_ASCII_FISE, ENC_ASCII_DKNO, diff --git a/src/main.c b/src/main.c index d4e87af..9001051 100644 --- a/src/main.c +++ b/src/main.c @@ -806,6 +806,7 @@ EncodingRegistry encodings[] = {{"88597", "greek", NULL}, ENC_ISO_8859_7, '\n', 8}, {{"88599", "latin5", NULL}, ENC_ISO_8859_9, '\n', 8}, {{"885910", "latin6", NULL}, ENC_ISO_8859_10, '\n', 8}, + {{"885915", "latin9", NULL}, ENC_ISO_8859_15, '\n', 8}, {{"ascii", NULL, NULL}, ENC_ASCII, '\n', 8}, {{"asciifise", "asciifi", "asciise"}, ENC_ASCII_FISE, '\n', 8}, {{"asciidkno", "asciidk", "asciino"}, ENC_ASCII_DKNO, '\n', 8}, -- 2.17.1