forked from pool/gnuplot
4d4ade161a
Copy from Publishing/gnuplot based on submit request 34006 from user WernerFink OBS-URL: https://build.opensuse.org/request/show/34006 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gnuplot?expand=0&rev=18
4298 lines
140 KiB
Plaintext
4298 lines
140 KiB
Plaintext
Index: docs/gnuplot.doc
|
||
===================================================================
|
||
--- docs/gnuplot.doc.orig 2009-05-18 04:47:35.000000000 +0200
|
||
+++ docs/gnuplot.doc 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -5871,6 +5871,7 @@ C ... and restart the table:
|
||
?show encoding
|
||
?encoding
|
||
?encodings
|
||
+=UTF-8
|
||
The `set encoding` command selects a character encoding.
|
||
Syntax:
|
||
set encoding {<value>}
|
||
@@ -5881,6 +5882,7 @@ C ... and restart the table:
|
||
iso_8859_1 - the most common Western European font used by many
|
||
Unix workstations and by MS-Windows. This encoding is
|
||
known in the PostScript world as 'ISO-Latin1'.
|
||
+ iso_8859_15 - a variant of iso_8859_1 that includes the Euro symbol
|
||
iso_8859_2 - used in Central and Eastern Europe
|
||
iso_8859_15 - a variant of iso_8859_1 that includes the Euro symbol
|
||
koi8r - popular Unix cyrillic encoding
|
||
@@ -5889,6 +5891,9 @@ C ... and restart the table:
|
||
cp850 - codepage for OS/2, Western Europe
|
||
cp852 - codepage for OS/2, Central and Eastern Europe
|
||
cp1250 - codepage for MS Windows, Central and Eastern Europe
|
||
+ cp1254 - codepage for MS Windows, Turkish (superset of Latin5)
|
||
+ utf8 - variable-length (multibyte) representation of Unicode
|
||
+ entry point for each character
|
||
|
||
Generally you must set the encoding before setting the terminal type.
|
||
Note that encoding is not supported by all terminal drivers and that
|
||
Index: src/set.c
|
||
===================================================================
|
||
--- src/set.c.orig 2009-09-01 18:38:55.000000000 +0200
|
||
+++ src/set.c 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -1211,7 +1211,7 @@ set_encoding()
|
||
temp = lookup_table(&set_encoding_tbl[0],c_token);
|
||
|
||
if (temp == S_ENC_INVALID)
|
||
- int_error(c_token, "expecting one of 'default', 'iso_8859_1', 'iso_8859_2', 'iso_8859_15', 'cp437', 'cp850', 'cp852', 'koi8r' or 'koi8u'");
|
||
+ int_error(c_token, "expecting one of 'default', 'utf8', 'iso_8859_1', 'iso_8859_2', 'iso_8859_9', 'iso_8859_15', 'cp437', 'cp850', 'cp852', 'koi8r', or 'koi8u'");
|
||
c_token++;
|
||
}
|
||
encoding = temp;
|
||
Index: src/term.c
|
||
===================================================================
|
||
--- src/term.c.orig 2010-03-04 10:44:00.000000000 +0100
|
||
+++ src/term.c 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -134,19 +134,23 @@ TBOOLEAN multiplot = FALSE;
|
||
enum set_encoding_id encoding;
|
||
/* table of encoding names, for output of the setting */
|
||
const char *encoding_names[] = {
|
||
- "default", "iso_8859_1", "iso_8859_2", "iso_8859_15",
|
||
- "cp437", "cp850", "cp852", "cp1250", "koi8r", "koi8u", NULL };
|
||
+ "default", "iso_8859_1", "iso_8859_2", "iso_8859_9", "iso_8859_15",
|
||
+ "cp437", "cp850", "cp852", "cp1250", "cp1254", "koi8r", "koi8u",
|
||
+ "utf8", NULL };
|
||
/* 'set encoding' options */
|
||
const struct gen_table set_encoding_tbl[] =
|
||
{
|
||
{ "def$ault", S_ENC_DEFAULT },
|
||
+ { "utf$8", S_ENC_UTF8 },
|
||
{ "iso$_8859_1", S_ENC_ISO8859_1 },
|
||
{ "iso_8859_2", S_ENC_ISO8859_2 },
|
||
+ { "iso_8859_9", S_ENC_ISO8859_9 },
|
||
{ "iso_8859_15", S_ENC_ISO8859_15 },
|
||
{ "cp4$37", S_ENC_CP437 },
|
||
{ "cp850", S_ENC_CP850 },
|
||
{ "cp852", S_ENC_CP852 },
|
||
{ "cp1250", S_ENC_CP1250 },
|
||
+ { "cp1254", S_ENC_CP1254 },
|
||
{ "koi8$r", S_ENC_KOI8_R },
|
||
{ "koi8$u", S_ENC_KOI8_U },
|
||
{ NULL, S_ENC_INVALID }
|
||
@@ -945,7 +949,7 @@ term_check_multiplot_okay(TBOOLEAN f_int
|
||
|
||
void
|
||
write_multiline(
|
||
- unsigned int x, unsigned y,
|
||
+ unsigned int x, unsigned int y,
|
||
char *text,
|
||
JUSTIFY hor, /* horizontal ... */
|
||
VERT_JUSTIFY vert, /* ... and vertical just - text in hor direction despite angle */
|
||
Index: src/term_api.h
|
||
===================================================================
|
||
--- src/term_api.h.orig 2008-12-15 05:18:36.000000000 +0100
|
||
+++ src/term_api.h 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -124,7 +124,9 @@ typedef enum termlayer {
|
||
TERM_LAYER_RESET,
|
||
TERM_LAYER_BACKTEXT,
|
||
TERM_LAYER_FRONTTEXT,
|
||
- TERM_LAYER_END_TEXT
|
||
+ TERM_LAYER_END_TEXT,
|
||
+ TERM_LAYER_BEFORE_PLOT,
|
||
+ TERM_LAYER_AFTER_PLOT
|
||
} t_termlayer;
|
||
|
||
typedef struct fill_style_type {
|
||
@@ -134,8 +136,9 @@ typedef struct fill_style_type {
|
||
int border_linetype;
|
||
} fill_style_type;
|
||
|
||
-typedef enum t_fillstyle { FS_EMPTY, FS_SOLID, FS_PATTERN, FS_DEFAULT }
|
||
- t_fillstyle;
|
||
+typedef enum t_fillstyle { FS_EMPTY, FS_SOLID, FS_PATTERN, FS_DEFAULT,
|
||
+ FS_TRANSPARENT_SOLID, FS_TRANSPARENT_PATTERN }
|
||
+ t_fillstyle;
|
||
#define FS_OPAQUE (FS_SOLID + (100<<4))
|
||
|
||
#ifdef WITH_IMAGE
|
||
@@ -159,6 +162,7 @@ typedef enum t_imagecolor { IC_PALETTE,
|
||
#define TERM_ENHANCED_TEXT 32 /* enhanced text mode is enabled */
|
||
#define TERM_NO_OUTPUTFILE 64 /* terminal doesnt write to a file */
|
||
#define TERM_CAN_CLIP 128 /* terminal does its own clipping */
|
||
+#define TERM_CAN_DASH 256 /* terminal supports dashed lines */
|
||
|
||
/* The terminal interface structure --- heart of the terminal layer.
|
||
*
|
||
@@ -254,6 +258,11 @@ typedef struct TERMENTRY {
|
||
*/
|
||
void (*path) __PROTO((int p));
|
||
|
||
+/* Scale factor for converting terminal coordinates to output
|
||
+ * pixel coordinates. Used to provide data for external mousing code.
|
||
+ */
|
||
+ double tscale;
|
||
+
|
||
} TERMENTRY;
|
||
|
||
#ifdef WIN16
|
||
@@ -263,9 +272,10 @@ typedef struct TERMENTRY {
|
||
#endif
|
||
|
||
enum set_encoding_id {
|
||
- S_ENC_DEFAULT, S_ENC_ISO8859_1, S_ENC_ISO8859_2, S_ENC_ISO8859_15,
|
||
- S_ENC_CP437, S_ENC_CP850, S_ENC_CP852, S_ENC_CP1250,
|
||
- S_ENC_KOI8_R, S_ENC_KOI8_U,
|
||
+ S_ENC_DEFAULT, S_ENC_ISO8859_1, S_ENC_ISO8859_2, S_ENC_ISO8859_9, S_ENC_ISO8859_15,
|
||
+ S_ENC_CP437, S_ENC_CP850, S_ENC_CP852, S_ENC_CP1250, S_ENC_CP1254,
|
||
+ S_ENC_KOI8_R, S_ENC_KOI8_U,
|
||
+ S_ENC_UTF8,
|
||
S_ENC_INVALID
|
||
};
|
||
|
||
Index: src/util.c
|
||
===================================================================
|
||
--- src/util.c.orig 2009-02-09 05:43:44.000000000 +0100
|
||
+++ src/util.c 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -1218,3 +1218,85 @@ getusername ()
|
||
|
||
return fullname;
|
||
}
|
||
+
|
||
+TBOOLEAN contains8bit(const char *s)
|
||
+{
|
||
+ while (*s) {
|
||
+ if ((*s++ & 0x80))
|
||
+ return TRUE;
|
||
+ }
|
||
+ return FALSE;
|
||
+}
|
||
+
|
||
+#define INVALID_UTF8 0xfffful
|
||
+
|
||
+/* Read from second byte to end of UTF-8 sequence.
|
||
+ used by utftoulong() */
|
||
+TBOOLEAN
|
||
+utf8_getmore (unsigned long * wch, const char **str, int nbytes)
|
||
+{
|
||
+ int i;
|
||
+ unsigned char c;
|
||
+ unsigned long minvalue[] = {0x80, 0x800, 0x10000, 0x200000, 0x4000000};
|
||
+
|
||
+ for (i = 0; i < nbytes; i++) {
|
||
+ c = (unsigned char) **str;
|
||
+
|
||
+ if ((c & 0xc0) != 0x80) {
|
||
+ *wch = INVALID_UTF8;
|
||
+ return FALSE;
|
||
+ }
|
||
+ *wch = (*wch << 6) | (c & 0x3f);
|
||
+ (*str)++;
|
||
+ }
|
||
+
|
||
+ /* check for overlong UTF-8 sequences */
|
||
+ if (*wch < minvalue[nbytes-1]) {
|
||
+ *wch = INVALID_UTF8;
|
||
+ return FALSE;
|
||
+ }
|
||
+ return TRUE;
|
||
+}
|
||
+
|
||
+/* Convert UTF-8 multibyte sequence from string to unsigned long character.
|
||
+ Returns TRUE on success.
|
||
+*/
|
||
+TBOOLEAN
|
||
+utf8toulong (unsigned long * wch, const char ** str)
|
||
+{
|
||
+ unsigned char c;
|
||
+
|
||
+ c = (unsigned char) *(*str)++;
|
||
+ if ((c & 0x80) == 0) {
|
||
+ *wch = (unsigned long) c;
|
||
+ return TRUE;
|
||
+ }
|
||
+
|
||
+ if ((c & 0xe0) == 0xc0) {
|
||
+ *wch = c & 0x1f;
|
||
+ return utf8_getmore(wch, str, 1);
|
||
+ }
|
||
+
|
||
+ if ((c & 0xf0) == 0xe0) {
|
||
+ *wch = c & 0x0f;
|
||
+ return utf8_getmore(wch, str, 2);
|
||
+ }
|
||
+
|
||
+ if ((c & 0xf8) == 0xf0) {
|
||
+ *wch = c & 0x07;
|
||
+ return utf8_getmore(wch, str, 3);
|
||
+ }
|
||
+
|
||
+ if ((c & 0xfc) == 0xf8) {
|
||
+ *wch = c & 0x03;
|
||
+ return utf8_getmore(wch, str, 4);
|
||
+ }
|
||
+
|
||
+ if ((c & 0xfe) == 0xfc) {
|
||
+ *wch = c & 0x01;
|
||
+ return utf8_getmore(wch, str, 5);
|
||
+ }
|
||
+
|
||
+ *wch = INVALID_UTF8;
|
||
+ return FALSE;
|
||
+}
|
||
Index: term/Makefile.am.in
|
||
===================================================================
|
||
--- term/Makefile.am.in.orig 2006-06-20 00:02:46.000000000 +0200
|
||
+++ term/Makefile.am.in 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -13,7 +13,7 @@ postscriptdir = $(pkgdatadir)/$(VERSION_
|
||
postscript_DATA = PostScript/8859-15.ps PostScript/8859-1.ps\
|
||
PostScript/8859-2.ps PostScript/cp1250.ps PostScript/cp437.ps\
|
||
PostScript/cp850.ps PostScript/cp852.ps PostScript/koi8r.ps PostScript/koi8u.ps\
|
||
- PostScript/prologue.ps
|
||
+ PostScript/prologue.ps PostScript/utf-8.ps PostScript/aglfn.txt PostScript/NOTE.aglfn
|
||
|
||
Makefile.am: Makefile.am.in
|
||
rm -f $@ $@t
|
||
Index: term/gd.trm
|
||
===================================================================
|
||
--- term/gd.trm.orig 2009-03-03 03:43:52.000000000 +0100
|
||
+++ term/gd.trm 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -1861,7 +1861,7 @@ ENHGD_FLUSH()
|
||
#ifdef gdFTEX_Adobe_Custom
|
||
/* libgd defaults to UTF-8 encodings. We have limited options for */
|
||
/* over-riding this, but we can try */
|
||
- if (ENHgd_font && !strcmp(ENHgd_font,"Symbol")) {
|
||
+ if (encoding != S_ENC_UTF8 && ENHgd_font && !strcmp(ENHgd_font,"Symbol")) {
|
||
PNG_FONT_INFO.flags |= gdFTEX_CHARMAP;
|
||
PNG_FONT_INFO.charmap = gdFTEX_Adobe_Custom;
|
||
} else {
|
||
Index: term/post.trm
|
||
===================================================================
|
||
--- term/post.trm.orig 2009-03-03 03:44:07.000000000 +0100
|
||
+++ term/post.trm 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -1,5 +1,5 @@
|
||
/* Hello, Emacs: this is -*-C-*- !
|
||
- * $Id: post.trm,v 1.203.2.17 2009/03/02 17:40:06 mikulik Exp $
|
||
+ * $Id: post.trm,v 1.230 2008/03/13 18:01:27 sfeam Exp $
|
||
*/
|
||
|
||
/* GNUPLOT - post.trm */
|
||
@@ -61,14 +61,18 @@
|
||
*
|
||
* Dan Sebald, 7 March 2003: terminal entry for image functionality
|
||
*
|
||
- * Harald Harders (h.harders@tu-bs.de), 2004-12-02:
|
||
- * Moved all terminal settings into a single structure.
|
||
+ * Harald Harders (h.harders@tu-bs.de), 2004-12-02:
|
||
+ * Moved all terminal settings into a single structure.
|
||
*
|
||
- * Harald Harders (h.harders@tu-bs.de), 2005-02-08:
|
||
- * Merged functionality of postscript, pslatex, pstex, and epslatex terminals.
|
||
+ * Harald Harders (h.harders@tu-bs.de), 2005-02-08:
|
||
+ * Merged functionality of postscript, pslatex, pstex, and epslatex terminals.
|
||
*
|
||
- * Ethan Merritt Mar 2006: Break out prolog and character encodings into
|
||
- * separate files loaded at runtime
|
||
+ * Ethan Merritt Mar 2006: Break out prolog and character encodings into
|
||
+ * separate files loaded at runtime
|
||
+ *
|
||
+ * Thomas Henlich Sep 2007: Add support for UTF-8 encoding via the glyphshow
|
||
+ * operator. It supports PostScript Type1 fonts that use glyph names according
|
||
+ * to the Adobe Glyph List For New Fonts.
|
||
*/
|
||
|
||
#include "driver.h"
|
||
@@ -106,7 +110,7 @@ TERM_PUBLIC void PS_previous_palette (vo
|
||
TERM_PUBLIC void PS_set_color (t_colorspec *);
|
||
TERM_PUBLIC void PS_filled_polygon (int, gpiPoint *);
|
||
#ifdef WITH_IMAGE
|
||
-TERM_PUBLIC void PS_image __PROTO((unsigned, unsigned, coordval *, gpiPoint *, t_imagecolor));
|
||
+TERM_PUBLIC void PS_image __PROTO((unsigned int, unsigned int, coordval *, gpiPoint *, t_imagecolor));
|
||
#endif
|
||
|
||
/* To support "set term post enhanced" */
|
||
@@ -123,6 +127,9 @@ TERM_PUBLIC char *PS_escape_string __PRO
|
||
|
||
TERM_PUBLIC void PS_path __PROTO((int p));
|
||
static TBOOLEAN PS_newpath = FALSE;
|
||
+static TBOOLEAN ENHps_opened_string = FALSE; /* try to cut out empty ()'s */
|
||
+
|
||
+TERM_PUBLIC void PS_layer __PROTO((t_termlayer syncpoint));
|
||
|
||
#endif /* TERM_PROTO */
|
||
|
||
@@ -140,11 +147,12 @@ static TBOOLEAN PS_newpath = FALSE;
|
||
} \
|
||
} while (0)
|
||
|
||
-/* Datastructure implementing inclusion of font files */
|
||
+/* Data structure implementing inclusion of font files */
|
||
struct ps_fontfile_def {
|
||
struct ps_fontfile_def *next;/* pointer to next fontfile in linked list */
|
||
char *fontfile_name;
|
||
char *fontfile_fullname;
|
||
+ char *fontname;
|
||
};
|
||
|
||
/* Terminal type of postscript dialect */
|
||
@@ -181,13 +189,14 @@ typedef struct ps_params_t {
|
||
double palfunc_deviation; /* terminal option */
|
||
TBOOLEAN oldstyle;
|
||
TBOOLEAN epslatex_standalone;
|
||
+ TBOOLEAN adobeglyphnames; /* Choice of output names for UTF8 */
|
||
} ps_params_t;
|
||
|
||
#define POST_PARAMS_DEFAULT { \
|
||
PSTERM_POSTSCRIPT, 50, 50, \
|
||
PSTERM_LANDSCAPE, FALSE, FALSE, FALSE, FALSE, 1.0, 1.0, FALSE, \
|
||
FALSE, FALSE, NULL, "Helvetica", 14, FALSE, FALSE, 2000, 0.003, \
|
||
- FALSE, FALSE \
|
||
+ FALSE, TRUE \
|
||
}
|
||
|
||
static ps_params_t post_params = POST_PARAMS_DEFAULT;
|
||
@@ -261,7 +270,9 @@ static int eps_explicit_y = 0;
|
||
static char *pslatex_auxname = NULL;
|
||
|
||
/* Routine to copy pre-existing prolog files into output stream */
|
||
+static FILE *PS_open_prologue_file __PROTO((char *));
|
||
static void PS_dump_prologue_file __PROTO((char *));
|
||
+static void PS_load_glyphlist __PROTO((void));
|
||
|
||
static const char GPFAR * GPFAR OldEPSL_linetypes[] = {
|
||
/* Line Types */
|
||
@@ -280,20 +291,21 @@ static const char GPFAR * GPFAR ENHPS_he
|
||
/* For MFshow and MFwidth the tos is an array with the string and font info: */
|
||
/* [<fontname (a string)> <fontsize> <vertical offset> <width significant?> <printed?> <overprint> <text string>] */
|
||
/* EAM Mar 2004 - Add in a special case overprint 3 = save, overprint 4 = restore */
|
||
+/* EAM Nov 2007 - Accommodate UTF-8 support (Gshow) */
|
||
|
||
"/MFshow {\n",
|
||
" { dup 5 get 3 ge\n", /* EAM test for overprint 3 or 4 */
|
||
" { 5 get 3 eq {gsave} {grestore} ifelse }\n", /* EAM */
|
||
" {dup dup 0 get findfont exch 1 get scalefont setfont\n",
|
||
" [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6\n",
|
||
-" get exch 4 get {show} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq\n",
|
||
+" get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq\n",
|
||
" {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5\n",
|
||
" get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div\n",
|
||
" dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get\n",
|
||
" show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop\n",
|
||
" pop aload pop M} ifelse }ifelse }ifelse }\n",
|
||
" ifelse }\n", /* EAM */
|
||
-" forall} bind def\n",
|
||
+" forall} def\n",
|
||
|
||
/* get the width of the text */
|
||
/* HH 2005-07-24 - Add in a special case overprint 3 = save, 4 = restore
|
||
@@ -301,9 +313,12 @@ static const char GPFAR * GPFAR ENHPS_he
|
||
* additional value on the stack. between XYsave and XYrestore,
|
||
* this number is increased by the strings. By pop'ing this number, all
|
||
* strings between XYsave and XYrestore are ignored. */
|
||
+/* EAM Nov 2007 - GSwidth is to allow the operator to work either with a string
|
||
+ * or with a glyph. Needed for UTF-8 support. Gwidth may do it better. */
|
||
+"/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def\n",
|
||
"/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse }\n",
|
||
" {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont\n",
|
||
-" 6 get stringwidth pop add} {pop} ifelse} ifelse} forall} bind def\n",
|
||
+" 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def\n",
|
||
|
||
/* flush left show */
|
||
"/MLshow { currentpoint stroke M\n",
|
||
@@ -366,8 +381,11 @@ PS_RememberFont(char *fname, int can_ree
|
||
if (strcmp(fnp->name, myfname) == 0)
|
||
return NULL;
|
||
|
||
- /* we did not find the name */
|
||
+ /* Ignore it if illegal characters will corrupt the PostScript syntax */
|
||
+ if (strpbrk(myfname, "{}[]() "))
|
||
+ return NULL;
|
||
|
||
+ /* we have not seen this font before; store name and apply encoding */
|
||
fnp = (struct PS_FontName *)gp_alloc(sizeof(struct PS_FontName),
|
||
"PostScript Font record");
|
||
fnp->name = gp_strdup(myfname);
|
||
@@ -376,12 +394,17 @@ PS_RememberFont(char *fname, int can_ree
|
||
|
||
switch(encoding) {
|
||
case S_ENC_ISO8859_1:
|
||
+ case S_ENC_UTF8:
|
||
recode = "reencodeISO def\n";
|
||
break;
|
||
case S_ENC_ISO8859_2:
|
||
recode = "reencodeISO2 def\n";
|
||
break;
|
||
- case S_ENC_ISO8859_15:
|
||
+ case S_ENC_ISO8859_9: /* ISO8859-9 is Latin5 */
|
||
+ case S_ENC_CP1254:
|
||
+ recode = "reencodeISO9 def\n";
|
||
+ break;
|
||
+ case S_ENC_ISO8859_15: /* ISO8859-15 is Latin9 */
|
||
recode = "reencodeISO15 def\n";
|
||
break;
|
||
case S_ENC_CP437:
|
||
@@ -407,11 +430,13 @@ PS_RememberFont(char *fname, int can_ree
|
||
break;
|
||
}
|
||
|
||
- if (can_reencode && recode) {
|
||
- fprintf(gppsfile,"/%s %s", myfname, recode);
|
||
- return NULL;
|
||
- } else
|
||
- return recode;
|
||
+ if (recode) {
|
||
+ if (ENHps_opened_string)
|
||
+ ENHPS_FLUSH();
|
||
+ fprintf(gppsfile,"/%s %s", fnp->name, recode);
|
||
+ }
|
||
+
|
||
+ return NULL;
|
||
}
|
||
|
||
char *
|
||
@@ -454,6 +479,7 @@ enum PS_id {
|
||
PSLATEX_ROTATE, PSLATEX_NOROTATE, PSLATEX_AUXFILE, PSLATEX_NOAUXFILE,
|
||
PSLATEX_OLDSTYLE, PSLATEX_NEWSTYLE, EPSLATEX_HEADER, EPSLATEX_NOHEADER,
|
||
PS_SIZE,
|
||
+ PS_ADOBEGLYPHNAMES, PS_NOADOBEGLYPHNAMES,
|
||
PS_OTHER
|
||
};
|
||
|
||
@@ -499,6 +525,8 @@ static struct gen_table PS_opts[] =
|
||
{ "noa$uxfile", PSLATEX_NOAUXFILE },
|
||
{ "old$style", PSLATEX_OLDSTYLE },
|
||
{ "new$style", PSLATEX_NEWSTYLE },
|
||
+ { "adobe$glyphnames", PS_ADOBEGLYPHNAMES },
|
||
+ { "noadobe$glyphnames", PS_NOADOBEGLYPHNAMES },
|
||
{ NULL, PS_OTHER }
|
||
};
|
||
|
||
@@ -848,35 +876,36 @@ PS_options()
|
||
break;
|
||
case PS_FONTFILE: {
|
||
TBOOLEAN deleteentry = FALSE;
|
||
+ char *fontfilename = NULL;
|
||
c_token++;
|
||
if (ps_params->terminal != PSTERM_POSTSCRIPT)
|
||
int_error(c_token,
|
||
"extraneous argument in set terminal %s",term->name);
|
||
|
||
- if (!isstring(c_token)) {
|
||
- if (equals(c_token, "add"))
|
||
- c_token++;
|
||
- else if (almost_equals(c_token, "del$ete")) {
|
||
- deleteentry = TRUE;
|
||
- c_token++;
|
||
- } else
|
||
- int_error(c_token, "Font filename expected");
|
||
- }
|
||
- if (isstring(c_token)) {
|
||
- TBOOLEAN filename_doubled = FALSE;
|
||
- struct ps_fontfile_def *curr_ps_fontfile =
|
||
+ if (equals(c_token, "add"))
|
||
+ c_token++;
|
||
+ else if (almost_equals(c_token, "del$ete")) {
|
||
+ deleteentry = TRUE;
|
||
+ c_token++;
|
||
+ }
|
||
+
|
||
+ if (!(fontfilename = try_to_get_string())) {
|
||
+ int_error(c_token, "Font filename expected");
|
||
+ } else {
|
||
+ TBOOLEAN filename_doubled = FALSE;
|
||
+ struct ps_fontfile_def *curr_ps_fontfile =
|
||
ps_params->first_fontfile;
|
||
- struct ps_fontfile_def *prev_ps_fontfile = NULL;
|
||
- struct ps_fontfile_def *new_ps_fontfile =
|
||
- gp_alloc(sizeof(struct ps_fontfile_def),
|
||
- "new_ps_fontfile");
|
||
-
|
||
- new_ps_fontfile->fontfile_name =
|
||
- gp_alloc (token_len(c_token),
|
||
- "new_ps_fontfile->fontfile_name");
|
||
- quote_str(new_ps_fontfile->fontfile_name,
|
||
- c_token, token_len(c_token));
|
||
- gp_expand_tilde(&(new_ps_fontfile->fontfile_name));
|
||
+ struct ps_fontfile_def *prev_ps_fontfile = NULL;
|
||
+ struct ps_fontfile_def *new_ps_fontfile =
|
||
+ gp_alloc(sizeof(struct ps_fontfile_def),
|
||
+ "new_ps_fontfile");
|
||
+
|
||
+ new_ps_fontfile->fontfile_name =
|
||
+ gp_alloc (token_len(c_token),
|
||
+ "new_ps_fontfile->fontfile_name");
|
||
+ gp_expand_tilde(&fontfilename);
|
||
+ new_ps_fontfile->fontfile_name = fontfilename;
|
||
+ new_ps_fontfile->fontname = NULL;
|
||
if (!deleteentry) {
|
||
#if defined(PIPES)
|
||
if (*(new_ps_fontfile->fontfile_name) != '<') {
|
||
@@ -884,7 +913,7 @@ PS_options()
|
||
new_ps_fontfile->fontfile_fullname =
|
||
fontpath_fullname(new_ps_fontfile->fontfile_name);
|
||
if (!new_ps_fontfile->fontfile_fullname)
|
||
- int_error(c_token, "Font file '%s' not found",
|
||
+ int_error(c_token-1, "Font file '%s' not found",
|
||
new_ps_fontfile->fontfile_name);
|
||
#if defined(PIPES)
|
||
} else
|
||
@@ -901,45 +930,43 @@ PS_options()
|
||
lf=lf->prev;
|
||
}
|
||
if ((lf && lf->interactive) || interactive)
|
||
- /* if (interactive) { */
|
||
PS_load_fontfile(new_ps_fontfile,FALSE);
|
||
}
|
||
|
||
- if (ps_params->first_fontfile) {
|
||
- while (curr_ps_fontfile) {
|
||
- if (strcmp(curr_ps_fontfile->fontfile_name,
|
||
- new_ps_fontfile->fontfile_name) == 0) {
|
||
- filename_doubled = TRUE;
|
||
- if (deleteentry) {
|
||
+ if (ps_params->first_fontfile) {
|
||
+ while (curr_ps_fontfile) {
|
||
+ if (strcmp(curr_ps_fontfile->fontfile_name,
|
||
+ new_ps_fontfile->fontfile_name) == 0) {
|
||
+ filename_doubled = TRUE;
|
||
+ if (deleteentry) {
|
||
delete_ps_fontfile(prev_ps_fontfile,
|
||
curr_ps_fontfile);
|
||
- curr_ps_fontfile = NULL;
|
||
- break;
|
||
- }
|
||
- }
|
||
- prev_ps_fontfile = curr_ps_fontfile;
|
||
- curr_ps_fontfile = curr_ps_fontfile->next;
|
||
- }
|
||
- if (!filename_doubled) {
|
||
- if (!deleteentry)
|
||
- prev_ps_fontfile->next = new_ps_fontfile;
|
||
- else
|
||
- int_warn(c_token,"Can't delete Font filename '%s'",
|
||
- new_ps_fontfile->fontfile_name);
|
||
- }
|
||
- } else {
|
||
- if (!deleteentry)
|
||
- ps_params->first_fontfile = new_ps_fontfile;
|
||
- else
|
||
- int_warn(c_token, "Can't delete Font filename '%s'",
|
||
- new_ps_fontfile->fontfile_name);
|
||
- }
|
||
- c_token++;
|
||
- } else
|
||
- int_error(c_token, "Font filename expected");
|
||
- break;
|
||
- }
|
||
- case PS_NOFONTFILES:
|
||
+ curr_ps_fontfile = NULL;
|
||
+ break;
|
||
+ }
|
||
+ }
|
||
+ prev_ps_fontfile = curr_ps_fontfile;
|
||
+ curr_ps_fontfile = curr_ps_fontfile->next;
|
||
+ }
|
||
+ if (!filename_doubled) {
|
||
+ if (!deleteentry)
|
||
+ prev_ps_fontfile->next = new_ps_fontfile;
|
||
+ else
|
||
+ int_warn(c_token,"Can't delete Font filename '%s'",
|
||
+ new_ps_fontfile->fontfile_name);
|
||
+ }
|
||
+ } else {
|
||
+ if (!deleteentry)
|
||
+ ps_params->first_fontfile = new_ps_fontfile;
|
||
+ else
|
||
+ int_warn(c_token, "Can't delete Font filename '%s'",
|
||
+ new_ps_fontfile->fontfile_name);
|
||
+ }
|
||
+ c_token++;
|
||
+ }
|
||
+ break;
|
||
+ }
|
||
+ case PS_NOFONTFILES:
|
||
if (ps_params->terminal != PSTERM_POSTSCRIPT)
|
||
int_error(c_token,
|
||
"extraneous argument in set terminal %s",term->name);
|
||
@@ -948,6 +975,14 @@ PS_options()
|
||
ps_params->first_fontfile);
|
||
++c_token;
|
||
break;
|
||
+ case PS_ADOBEGLYPHNAMES:
|
||
+ ps_params->adobeglyphnames = TRUE;
|
||
+ ++c_token;
|
||
+ break;
|
||
+ case PS_NOADOBEGLYPHNAMES:
|
||
+ ps_params->adobeglyphnames = FALSE;
|
||
+ ++c_token;
|
||
+ break;
|
||
case PS_PALFUNCPARAM:
|
||
if (set_palfunc)
|
||
int_error(c_token,
|
||
@@ -999,8 +1034,16 @@ PS_options()
|
||
set_fontsize = TRUE;
|
||
*comma = '\0';
|
||
}
|
||
- if (*s)
|
||
+ if (*s) {
|
||
+ /* Filter out characters that would confuse PostScript */
|
||
+ if (strpbrk(s, "()[]{}| ")) {
|
||
+ int_warn(c_token-1,"Illegal characters in PostScript font name.");
|
||
+ int_warn(NO_CARET,"I will try to fix it but this may not work.");
|
||
+ while (strpbrk(s, "()[]{}| "))
|
||
+ *(strpbrk(s, "()[]{}| ")) = '-';
|
||
+ }
|
||
strncpy(ps_params->font, s, sizeof(ps_params->font));
|
||
+ }
|
||
free(s);
|
||
} else
|
||
int_error(c_token-1,
|
||
@@ -1118,6 +1161,12 @@ PS_options()
|
||
}
|
||
#endif
|
||
|
||
+ if ((encoding == S_ENC_UTF8) && (ps_params->terminal == PSTERM_POSTSCRIPT)) {
|
||
+ sprintf(tmp_term_options," %sadobeglyphnames \\\n ",
|
||
+ ps_params->adobeglyphnames ? "" : "no");
|
||
+ strcat(term_options,tmp_term_options);
|
||
+ }
|
||
+
|
||
if (ps_explicit_size) {
|
||
if (ps_explicit_units == CM)
|
||
sprintf(tmp_term_options,"size %.2fcm, %.2fcm ",
|
||
@@ -1152,6 +1201,29 @@ PS_options()
|
||
static TBOOLEAN ps_common_uses_fonts;
|
||
static unsigned int ps_common_xoff, ps_common_yoff;
|
||
|
||
+/* The default UTF8 code will use glyph identifiers uniXXXX for all glyphs above 0x0100.
|
||
+ * If you define ADOBE_ENCODING_NAMES, then it will instead use the glyph names from the
|
||
+ * file aglfn.txt. Names in the range 0x0100 - 0x01FF correspond to those used by the
|
||
+ * Latin1 encoding scheme. This unicode code page deliberately uses the same character
|
||
+ * mapping as Latin1. Adobe also recommends names for many characters outside this
|
||
+ * range, but not all fonts adhere to this. You can substitute a different aglfn.txt
|
||
+ * file at run time if you want to use a different scheme.
|
||
+ */
|
||
+#define ADOBE_ENCODING_NAMES 1
|
||
+
|
||
+#if (ADOBE_ENCODING_NAMES)
|
||
+
|
||
+typedef struct ps_glyph {
|
||
+ unsigned long unicode;
|
||
+ char * glyphname;
|
||
+} ps_glyph;
|
||
+
|
||
+static ps_glyph *aglist = NULL;
|
||
+static int aglist_alloc = 0;
|
||
+static int aglist_size = 0;
|
||
+static int psglyphs = 0;
|
||
+
|
||
+#endif
|
||
|
||
TERM_PUBLIC void
|
||
PS_load_fontfile(struct ps_fontfile_def *current_ps_fontfile, TBOOLEAN doload)
|
||
@@ -1206,7 +1278,7 @@ PS_load_fontfile(struct ps_fontfile_def
|
||
current_ps_fontfile->fontfile_name + 1);
|
||
#endif
|
||
}
|
||
- else if (strcmp(ext,"ttf") == 0) {
|
||
+ else if (!strcmp(ext,"ttf") || !strcmp(ext,"otf")) {
|
||
/* TrueType */
|
||
#if defined(PIPES)
|
||
ispipe = TRUE;
|
||
@@ -1285,6 +1357,7 @@ PS_load_fontfile(struct ps_fontfile_def
|
||
strcpy(fontname,strstr(line+1,"/")+1);
|
||
fnende = strstr(fontname," ");
|
||
*fnende = '\0';
|
||
+ current_ps_fontfile->fontname = gp_strdup(fontname);
|
||
/* Print font name */
|
||
if (!doload) {
|
||
if (current_ps_fontfile->fontfile_fullname)
|
||
@@ -1365,6 +1438,8 @@ PS_load_fontfiles(TBOOLEAN doload)
|
||
|
||
while (current_ps_fontfile) {
|
||
PS_load_fontfile(current_ps_fontfile,doload);
|
||
+ if (current_ps_fontfile->fontname)
|
||
+ PS_RememberFont(current_ps_fontfile->fontname, 1);
|
||
current_ps_fontfile = current_ps_fontfile->next;
|
||
}
|
||
}
|
||
@@ -1518,11 +1593,16 @@ end\n\
|
||
free(outstr2);
|
||
}
|
||
|
||
+ /* Dump the body of the prologue */
|
||
+ PS_dump_prologue_file("prologue.ps");
|
||
+
|
||
/* insert font encoding vector */
|
||
if (uses_fonts) {
|
||
switch (encoding) {
|
||
case S_ENC_ISO8859_1: PS_dump_prologue_file("8859-1.ps"); break;
|
||
case S_ENC_ISO8859_2: PS_dump_prologue_file("8859-2.ps"); break;
|
||
+ case S_ENC_CP1254:
|
||
+ case S_ENC_ISO8859_9: PS_dump_prologue_file("8859-9.ps"); break;
|
||
case S_ENC_ISO8859_15: PS_dump_prologue_file("8859-15.ps"); break;
|
||
case S_ENC_CP437: PS_dump_prologue_file("cp437.ps"); break;
|
||
case S_ENC_CP850: PS_dump_prologue_file("cp850.ps"); break;
|
||
@@ -1530,14 +1610,14 @@ end\n\
|
||
case S_ENC_CP1250: PS_dump_prologue_file("cp1250.ps"); break;
|
||
case S_ENC_KOI8_R: PS_dump_prologue_file("koi8r.ps"); break;
|
||
case S_ENC_KOI8_U: PS_dump_prologue_file("koi8u.ps"); break;
|
||
+ case S_ENC_UTF8: PS_dump_prologue_file("utf-8.ps");
|
||
+ if (!aglist) PS_load_glyphlist();
|
||
+ break;
|
||
case S_ENC_DEFAULT:
|
||
default: break;
|
||
}
|
||
}
|
||
|
||
- /* Dump the body of the prologue */
|
||
- PS_dump_prologue_file("prologue.ps");
|
||
-
|
||
/* Redefine old epslatex linetypes if requested */
|
||
if ((ps_params->terminal == PSTERM_EPSLATEX) && ps_params->oldstyle) {
|
||
for (i = 0; OldEPSL_linetypes[i] != NULL; i++)
|
||
@@ -1582,6 +1662,7 @@ PS_init()
|
||
xmax_t = term->xmax * (xsize + xoffset) / (2*PS_SC);
|
||
ymin_t = term->ymax * yoffset / (2*PS_SC);
|
||
ymax_t = term->ymax * (ysize + yoffset) / (2*PS_SC);
|
||
+ term->tscale = PS_SC * 2;
|
||
break;
|
||
case PSTERM_PORTRAIT:
|
||
if (!ps_explicit_size) {
|
||
@@ -1592,6 +1673,7 @@ PS_init()
|
||
xmax_t = term->xmax * (xsize + xoffset) / PS_SC;
|
||
ymin_t = term->ymax * yoffset / PS_SC;
|
||
ymax_t = term->ymax * (ysize + yoffset) / PS_SC;
|
||
+ term->tscale = PS_SC;
|
||
break;
|
||
case PSTERM_LANDSCAPE:
|
||
if (!ps_explicit_size) {
|
||
@@ -1602,6 +1684,7 @@ PS_init()
|
||
ymax_t = term->xmax * (xsize+xoffset) / PS_SC;
|
||
xmin_t = term->ymax * (1-ysize-yoffset) / PS_SC;
|
||
xmax_t = term->ymax * (1-yoffset) / PS_SC;
|
||
+ term->tscale = PS_SC;
|
||
break;
|
||
default:
|
||
int_error(NO_CARET, "invalid postscript format used");
|
||
@@ -1694,11 +1777,6 @@ PS_reset()
|
||
{
|
||
fputs("%%Trailer\n", gppsfile);
|
||
|
||
- /* I think the following commands should be executed
|
||
- `if (ps_common_uses_fonts)`. So I changed the next line.
|
||
- Please see "PS_RememberFont", too. */ /* JFi */
|
||
-
|
||
- /* if (!ps_common_uses_fonts) { */ /* JFi */
|
||
if (ps_common_uses_fonts) {
|
||
fputs("%%DocumentFonts: ", gppsfile);
|
||
while (PS_DocFonts) {
|
||
@@ -1884,38 +1962,97 @@ PS_vector(unsigned int x, unsigned int y
|
||
TERM_PUBLIC void
|
||
PS_put_text(unsigned int x, unsigned int y, const char *str)
|
||
{
|
||
- char ch;
|
||
+#define PS_NONE 0
|
||
+#define PS_TEXT 1
|
||
+#define PS_GLYPH 2
|
||
+ unsigned long ch;
|
||
|
||
if (!str && !strlen(str))
|
||
return;
|
||
PS_move(x,y);
|
||
if (ps_ang != 0)
|
||
- fprintf(gppsfile,"currentpoint gsave translate %d rotate 0 0 M\n",
|
||
- ps_ang);
|
||
- putc('(',gppsfile);
|
||
- ch = *str++;
|
||
- while(ch!='\0') {
|
||
- if ((ch=='(') || (ch==')') || (ch=='\\'))
|
||
- putc('\\', gppsfile);
|
||
- putc(ch, gppsfile);
|
||
- ch = *str++;
|
||
- }
|
||
+ fprintf(gppsfile,"currentpoint gsave translate %d rotate 0 0 M\n", ps_ang);
|
||
|
||
- switch(ps_justify) {
|
||
- case LEFT :
|
||
- fputs(") Lshow\n", gppsfile);
|
||
- break;
|
||
- case CENTRE :
|
||
- fputs(") Cshow\n", gppsfile);
|
||
- break;
|
||
- case RIGHT :
|
||
- fputs(") Rshow\n", gppsfile);
|
||
- break;
|
||
+ if (encoding == S_ENC_UTF8 && contains8bit(str)) {
|
||
+ /* UTF-8 encoding with multibyte characters present */
|
||
+ int mode = PS_NONE;
|
||
+
|
||
+ putc('[', gppsfile);
|
||
+
|
||
+ for (utf8toulong(&ch, &str); ch != '\0'; utf8toulong(&ch, &str)) {
|
||
+ if (ch < 0x100) {
|
||
+ if (mode != PS_TEXT)
|
||
+ putc('(', gppsfile);
|
||
+ if (ch == '(' || ch == ')' || ch == '\\')
|
||
+ putc('\\', gppsfile);
|
||
+ putc((char)ch, gppsfile);
|
||
+ mode = PS_TEXT;
|
||
+ } else {
|
||
+ int i;
|
||
+ if (mode == PS_TEXT)
|
||
+ putc(')', gppsfile);
|
||
+ putc('/', gppsfile);
|
||
+#if (ADOBE_ENCODING_NAMES)
|
||
+ for (i = 0; i < psglyphs; i++) {
|
||
+ if (aglist[i].unicode == ch) {
|
||
+ fputs(aglist[i].glyphname, gppsfile);
|
||
+ break;
|
||
+ }
|
||
+ }
|
||
+ if (i >= psglyphs) /* Must not have found a glyph name */
|
||
+#endif
|
||
+ fprintf(gppsfile, (ch > 0xffff) ? "u%lX" : "uni%04lX", ch);
|
||
+ mode = PS_GLYPH;
|
||
+ }
|
||
+ }
|
||
+
|
||
+ if (mode == PS_TEXT)
|
||
+ putc(')', gppsfile);
|
||
+
|
||
+ switch(ps_justify) {
|
||
+ case LEFT :
|
||
+ fputs("] GLshow\n", gppsfile);
|
||
+ break;
|
||
+ case CENTRE :
|
||
+ fputs("] GCshow\n", gppsfile);
|
||
+ break;
|
||
+ case RIGHT :
|
||
+ fputs("] GRshow\n", gppsfile);
|
||
+ break;
|
||
+ }
|
||
+
|
||
+ } else {
|
||
+ /* plain old 8-bit mode (not UTF-8), or UTF-8 string with only 7-bit characters */
|
||
+ putc('(',gppsfile);
|
||
+ ch = (char) *str++;
|
||
+ while(ch!='\0') {
|
||
+ if ((ch=='(') || (ch==')') || (ch=='\\'))
|
||
+ putc('\\', gppsfile);
|
||
+ putc((char) ch, gppsfile);
|
||
+ ch = (char) *str++;
|
||
+ }
|
||
+
|
||
+ switch(ps_justify) {
|
||
+ case LEFT :
|
||
+ fputs(") Lshow\n", gppsfile);
|
||
+ break;
|
||
+ case CENTRE :
|
||
+ fputs(") Cshow\n", gppsfile);
|
||
+ break;
|
||
+ case RIGHT :
|
||
+ fputs(") Rshow\n", gppsfile);
|
||
+ break;
|
||
+ }
|
||
}
|
||
+
|
||
if (ps_ang != 0)
|
||
fputs("grestore\n", gppsfile);
|
||
ps_path_count = 0;
|
||
PS_relative_ok = FALSE;
|
||
+
|
||
+#undef PS_NONE
|
||
+#undef PS_TEXT
|
||
+#undef PS_GLYPH
|
||
}
|
||
|
||
|
||
@@ -2034,6 +2171,7 @@ PS_fillbox(
|
||
switch(style & 0xf) {
|
||
|
||
case FS_SOLID:
|
||
+ case FS_TRANSPARENT_SOLID:
|
||
/* style == 1 --> fill with intensity according to filldensity */
|
||
filldens = (style >> 4) / 100.0;
|
||
if(filldens < 0.0)
|
||
@@ -2045,6 +2183,7 @@ PS_fillbox(
|
||
break;
|
||
|
||
case FS_PATTERN:
|
||
+ case FS_TRANSPARENT_PATTERN:
|
||
/* style == 2 --> fill with pattern according to fillpattern */
|
||
/* the upper 3 nibbles of 'style' contain pattern number */
|
||
pattern = (style >> 4) % 8;
|
||
@@ -2097,8 +2236,6 @@ PS_fillbox(
|
||
|
||
/* ENHPOST */
|
||
|
||
-static TBOOLEAN ENHps_opened_string; /* try to cut out empty ()'s */
|
||
-
|
||
/*
|
||
* close a postscript string if it has been opened
|
||
*/
|
||
@@ -2111,6 +2248,8 @@ ENHPS_FLUSH()
|
||
}
|
||
}
|
||
|
||
+static char *ENHps_opensequence = NULL;
|
||
+
|
||
/*
|
||
* open a postscript string
|
||
*/
|
||
@@ -2134,22 +2273,92 @@ ENHPS_OPEN(
|
||
}
|
||
|
||
if (!ENHps_opened_string) {
|
||
- fprintf(gppsfile, "[(%s) %.1f %.1f %s %s %d (",
|
||
+ int safelen = strlen(fontname) + 40;
|
||
+ free(ENHps_opensequence);
|
||
+ ENHps_opensequence = gp_alloc(safelen,"ENHPS_opensequence");
|
||
+ /* EAM November 2007 - moved here from enhanced_recursion() */
|
||
+ PS_RememberFont(fontname,1);
|
||
+#ifdef HAVE_SNPRINTF
|
||
+ snprintf(ENHps_opensequence, safelen, "[(%s) %.1f %.1f %s %s %d ",
|
||
+ fontname, fontsize, base,
|
||
+ widthflag ? "true" : "false",
|
||
+ showflag ? "true" : "false",
|
||
+ overprint);
|
||
+#else
|
||
+ sprintf(ENHps_opensequence, "[(%s) %.1f %.1f %s %s %d ",
|
||
fontname, fontsize, base,
|
||
widthflag ? "true" : "false",
|
||
showflag ? "true" : "false",
|
||
overprint);
|
||
+#endif
|
||
+ fprintf(gppsfile, "%s(", ENHps_opensequence);
|
||
ENHps_opened_string = TRUE;
|
||
}
|
||
}
|
||
|
||
/*
|
||
- * write one or more characters from inside enhanced text processing
|
||
+ * Write one character from inside enhanced text processing.
|
||
+ * This is trivial except in the case of multi-byte encoding.
|
||
*/
|
||
TERM_PUBLIC void
|
||
ENHPS_WRITEC(int c)
|
||
{
|
||
- fputc(c, gppsfile);
|
||
+ static int in_utf8 = 0; /* nonzero means we are inside a multibyte sequence */
|
||
+ static char utf8[6]; /* holds the multibyte sequence being accumulated */
|
||
+ static int nbytes = 0; /* number of bytes expected in the sequence */
|
||
+
|
||
+ /* UTF-8 Encoding */
|
||
+ if (encoding == S_ENC_UTF8 && (c & 0x80) != 0) {
|
||
+ if (in_utf8 == 0) {
|
||
+ nbytes = (c & 0xE0) == 0xC0 ? 2
|
||
+ : (c & 0xF0) == 0xE0 ? 3
|
||
+ : (c & 0xF8) == 0xF0 ? 4
|
||
+ : 0;
|
||
+ if (!nbytes) /* Illegal UTF8 char; hope it's printable */
|
||
+ fputc(c, gppsfile);
|
||
+ else
|
||
+ utf8[in_utf8++] = c;
|
||
+ } else {
|
||
+ utf8[in_utf8++] = c;
|
||
+ if (in_utf8 >= nbytes) {
|
||
+ unsigned long wch = '\0';
|
||
+ const char *str = &utf8[0];
|
||
+ int i;
|
||
+
|
||
+ utf8[nbytes] = '\0';
|
||
+ in_utf8 = 0;
|
||
+ utf8toulong(&wch, &str);
|
||
+
|
||
+ if (wch < 0x100) { /* Single byte ISO8859-1 character */
|
||
+ fputc(wch, gppsfile);
|
||
+ return;
|
||
+ }
|
||
+
|
||
+ /* Finish off previous partial string, if any */
|
||
+ ENHPS_FLUSH();
|
||
+
|
||
+ /* Write a new partial string for this glyph */
|
||
+ fprintf(gppsfile, "%s/", ENHps_opensequence);
|
||
+#if (ADOBE_ENCODING_NAMES)
|
||
+ for (i = 0; i < psglyphs; i++) {
|
||
+ if (aglist[i].unicode == wch) {
|
||
+ fputs(aglist[i].glyphname, gppsfile);
|
||
+ break;
|
||
+ }
|
||
+ }
|
||
+ if (i >= psglyphs) /* Must not have found a glyph name */
|
||
+#endif
|
||
+ fprintf(gppsfile, (wch > 0xffff) ? "u%lX" : "uni%04lX", wch);
|
||
+ fprintf(gppsfile, "]\n");
|
||
+
|
||
+ /* Mark string closed */
|
||
+ ENHps_opened_string = FALSE;
|
||
+ }
|
||
+ }
|
||
+ } else
|
||
+
|
||
+ /* Single byte character */
|
||
+ fputc(c, gppsfile);
|
||
}
|
||
|
||
/* a set-font routine for enhanced post : simply copies
|
||
@@ -2198,7 +2407,7 @@ ENHPS_put_text(unsigned int x, unsigned
|
||
|
||
PS_FLUSH_PATH;
|
||
|
||
- /* if there are no magic characters, we should just be able
|
||
+ /* FIXME: if there are no magic characters, we should just be able
|
||
* punt the string to PS_put_text(), which will give shorter
|
||
* ps output [eg tics and stuff rarely need extra processing],
|
||
* but we need to make sure that the current font is the
|
||
@@ -2574,7 +2783,7 @@ PS_make_header(t_sm_palette *palette)
|
||
TERM_PUBLIC int PS_make_palette (t_sm_palette *palette)
|
||
{
|
||
if (palette == NULL) {
|
||
- return 0; /* postscript can do continuous colors */
|
||
+ return 0; /* postscript can do continuous colors */
|
||
}
|
||
|
||
PS_make_header(palette);
|
||
@@ -2647,6 +2856,9 @@ TERM_PUBLIC void PS_filled_polygon (int
|
||
/* General case for solid or pattern-filled polygons
|
||
* gsave <x0> <y0> N <x1> <y1> ... <xn> <yn> density PolyFill
|
||
*/
|
||
+ int fillpar = style >> 4;
|
||
+ style = style &0xf;
|
||
+
|
||
fprintf(gppsfile, "gsave ");
|
||
fprintf(gppsfile, "%i %i N", corners[0].x, corners[0].y);
|
||
for (i = 1; i < points; i++) {
|
||
@@ -2662,6 +2874,8 @@ TERM_PUBLIC void PS_filled_polygon (int
|
||
|
||
case FS_SOLID:
|
||
filldens = (style >> 4) / 100.0;
|
||
+ case FS_TRANSPARENT_SOLID:
|
||
+ filldens = (fillpar) / 100.0;
|
||
if(filldens < 0.0)
|
||
filldens = 0.0;
|
||
if(filldens >= 1.0)
|
||
@@ -2670,8 +2884,10 @@ TERM_PUBLIC void PS_filled_polygon (int
|
||
fprintf(gppsfile, " %.2f PolyFill\n", filldens);
|
||
break;
|
||
|
||
+ case FS_TRANSPARENT_PATTERN:
|
||
+ fprintf(gppsfile," /TransparentPatterns true def\n");
|
||
case FS_PATTERN:
|
||
- pattern = (style >> 4) % 8;
|
||
+ pattern = (fillpar) % 8;
|
||
if (pattern == 0) {
|
||
filldens = 0.5;
|
||
fprintf(gppsfile, " %.1f PolyFill\n", filldens);
|
||
@@ -2730,10 +2946,11 @@ delete_ps_fontfile(struct ps_fontfile_de
|
||
if (prev != NULL) /* there is a previous ps_fontfile */
|
||
prev->next = this->next;
|
||
else /* this = ps_params->first_fontfile */
|
||
- /* so change ps_params->first_fontfile */
|
||
+ /* so change ps_params->first_fontfile */
|
||
ps_params->first_fontfile = this->next;
|
||
free(this->fontfile_name);
|
||
free(this->fontfile_fullname);
|
||
+ free(this->fontname);
|
||
free(this);
|
||
this = NULL;
|
||
}
|
||
@@ -2770,15 +2987,15 @@ enum PS_ENCODING {
|
||
* routine.
|
||
*/
|
||
static char *
|
||
-PS_encode_image(unsigned M, unsigned N, coordval *image, t_imagecolor color_mode,
|
||
+PS_encode_image(unsigned int M, unsigned int N, coordval *image, t_imagecolor color_mode,
|
||
int bits_per_component, int max_colors, double cscale,
|
||
enum PS_ENCODING encoding, int *return_num_bytes)
|
||
{
|
||
- unsigned coord_remaining;
|
||
+ unsigned int coord_remaining;
|
||
coordval *coord_ptr;
|
||
unsigned short i_line;
|
||
- unsigned i_element;
|
||
- unsigned end_of_line;
|
||
+ unsigned int i_element;
|
||
+ unsigned int end_of_line;
|
||
unsigned short bits_remaining, bits_start;
|
||
|
||
unsigned long tuple4;
|
||
@@ -2954,7 +3171,7 @@ PS_encode_image(unsigned M, unsigned N,
|
||
|
||
|
||
static void
|
||
-print_five_operand_image(unsigned M, unsigned N, gpiPoint *corner, t_imagecolor color_mode, unsigned short bits_per_component)
|
||
+print_five_operand_image(unsigned int M, unsigned int N, gpiPoint *corner, t_imagecolor color_mode, unsigned short bits_per_component)
|
||
{
|
||
char *space = ps_params->level1 ? "" : " ";
|
||
|
||
@@ -2980,7 +3197,7 @@ print_five_operand_image(unsigned M, uns
|
||
|
||
|
||
TERM_PUBLIC void
|
||
-PS_image (unsigned M, unsigned N, coordval *image, gpiPoint *corner, t_imagecolor color_mode)
|
||
+PS_image (unsigned int M, unsigned int N, coordval *image, gpiPoint *corner, t_imagecolor color_mode)
|
||
{
|
||
char *encoded_image;
|
||
int num_encoded_bytes;
|
||
@@ -3163,13 +3380,12 @@ PS_image (unsigned M, unsigned N, coordv
|
||
* If unsuccessful, look for hardcoded absolute path on UNIX,
|
||
* or hardcoded relative path on Windows and OS2,
|
||
* or files included at compile time. */
|
||
-static void
|
||
-PS_dump_prologue_file(char *name)
|
||
+static FILE *
|
||
+PS_open_prologue_file(char *name)
|
||
{
|
||
char *fullname;
|
||
char *ps_prologue_dir;
|
||
FILE *prologue_fd;
|
||
- char buf[256];
|
||
|
||
if ((ps_prologue_dir = getenv("GNUPLOT_PS_DIR")) == NULL) {
|
||
#ifdef GNUPLOT_PS_DIR
|
||
@@ -3221,6 +3437,8 @@ PS_dump_prologue_file(char *name)
|
||
dump = prologue_8859_1_ps;
|
||
else if (!strcmp(name,"8859-2.ps"))
|
||
dump = prologue_8859_2_ps;
|
||
+ else if (!strcmp(name,"8859-9.ps"))
|
||
+ dump = prologue_8859_9_ps;
|
||
else if (!strcmp(name,"cp1250.ps"))
|
||
dump = prologue_cp1250_ps;
|
||
else if (!strcmp(name,"cp437.ps"))
|
||
@@ -3233,16 +3451,18 @@ PS_dump_prologue_file(char *name)
|
||
dump = prologue_koi8r_ps;
|
||
else if (!strcmp(name,"koi8u.ps"))
|
||
dump = prologue_koi8u_ps;
|
||
+ else if (!strcmp(name,"utf-8.ps"))
|
||
+ dump = prologue_utf_8_ps;
|
||
else if (!strcmp(name,"prologue.ps"))
|
||
dump = prologue_prologue_ps;
|
||
else
|
||
- int_error(NO_CARET,"Requested Postscript prologue is not included");
|
||
+ int_warn(NO_CARET,"Requested Postscript prologue %s not found",name);
|
||
|
||
if (dump) {
|
||
for (i = 0; dump[i] != NULL; ++i)
|
||
fprintf(gppsfile, "%s", dump[i]);
|
||
}
|
||
- return;
|
||
+ return NULL;
|
||
#endif /* GNUPLOT_PS_DIR */
|
||
}
|
||
|
||
@@ -3273,8 +3493,62 @@ PS_dump_prologue_file(char *name)
|
||
int_error(NO_CARET,"Plot failed!");
|
||
}
|
||
free(fullname);
|
||
- while (fgets(buf, sizeof(buf), prologue_fd))
|
||
- fputs(buf, gppsfile);
|
||
+ return prologue_fd;
|
||
+}
|
||
+
|
||
+static void
|
||
+PS_dump_prologue_file(char *name)
|
||
+{
|
||
+ char buf[256];
|
||
+ FILE *prologue_fd = PS_open_prologue_file(name);
|
||
+
|
||
+ if (prologue_fd) {
|
||
+ while (fgets(buf, sizeof(buf), prologue_fd))
|
||
+ fputs(buf, gppsfile);
|
||
+ fclose(prologue_fd);
|
||
+ }
|
||
+}
|
||
+
|
||
+static void
|
||
+PS_load_glyphlist()
|
||
+{
|
||
+ char buf[256];
|
||
+ char *next = NULL;
|
||
+ unsigned int code;
|
||
+ int len;
|
||
+ char glyph_name[32];
|
||
+ FILE *prologue_fd = PS_open_prologue_file("aglfn.txt");
|
||
+
|
||
+ if (!prologue_fd)
|
||
+ return;
|
||
+
|
||
+ while (fgets(buf, sizeof(buf), prologue_fd)) {
|
||
+ if (*buf == '#' || *buf == '\n')
|
||
+ continue;
|
||
+ code = strtol(buf,&next,16);
|
||
+
|
||
+ /* User control over whether Adobe glyph names are used for unicode */
|
||
+ /* entries above 0x0100. I.e. when we see a UTF-8 alpha, do we write */
|
||
+ /* /alpha rather than /uni03B1? Some fonts want one or the other. */
|
||
+ /* This is controlled by 'set term post adobeglyphnames'. */
|
||
+ if (code >= 0x0100 && !ps_params->adobeglyphnames)
|
||
+ continue;
|
||
+
|
||
+ next++;
|
||
+ len = strchr(next,';') - next;
|
||
+ strncpy(glyph_name, next, len);
|
||
+ glyph_name[len] = '\0';
|
||
+ FPRINTF((stderr, "%04X %s\n", code, glyph_name));
|
||
+ if (aglist_size + sizeof(ps_glyph) > aglist_alloc) {
|
||
+ aglist_alloc += 2048;
|
||
+ aglist = gp_realloc(aglist, aglist_alloc, "aglist");
|
||
+ }
|
||
+ aglist[psglyphs].unicode = code;
|
||
+ aglist[psglyphs].glyphname = gp_strdup(glyph_name);
|
||
+ aglist_size += sizeof(ps_glyph);
|
||
+ psglyphs++;
|
||
+ }
|
||
+
|
||
fclose(prologue_fd);
|
||
}
|
||
|
||
@@ -3295,6 +3569,32 @@ PS_path(int p)
|
||
|
||
}
|
||
|
||
+TERM_PUBLIC void
|
||
+PS_layer(t_termlayer syncpoint)
|
||
+{
|
||
+ static int plotno = 0;
|
||
+
|
||
+ /* We must ignore all syncpoints that we don't recognize */
|
||
+ switch (syncpoint) {
|
||
+
|
||
+ default:
|
||
+ break;
|
||
+
|
||
+ case TERM_LAYER_BEFORE_PLOT:
|
||
+ fprintf(gppsfile, "%% Begin plot #%d\n", ++plotno);
|
||
+ break;
|
||
+
|
||
+ case TERM_LAYER_AFTER_PLOT:
|
||
+ fprintf(gppsfile, "%% End plot #%d\n", plotno);
|
||
+ break;
|
||
+
|
||
+ case TERM_LAYER_RESET:
|
||
+ plotno = 0;
|
||
+ break;
|
||
+
|
||
+ }
|
||
+}
|
||
+
|
||
#endif /* TERM_BODY */
|
||
|
||
#ifdef TERM_TABLE
|
||
@@ -3307,7 +3607,7 @@ TERM_TABLE_START(post_driver)
|
||
PS_text, null_scale, PS_graphics, PS_move, PS_vector,
|
||
PS_linetype, PS_put_text, PS_text_angle,
|
||
PS_justify_text, PS_point, PS_arrow, PS_set_font, PS_pointsize,
|
||
- TERM_BINARY|TERM_IS_POSTSCRIPT|TERM_CAN_CLIP /*flags*/,
|
||
+ TERM_BINARY|TERM_IS_POSTSCRIPT|TERM_CAN_CLIP|TERM_CAN_DASH /*flags*/,
|
||
0 /*suspend*/, 0 /*resume*/, PS_fillbox, PS_linewidth
|
||
#ifdef USE_MOUSE
|
||
, 0, 0, 0, 0, 0 /* no mouse support for postscript */
|
||
@@ -3320,8 +3620,9 @@ TERM_TABLE_START(post_driver)
|
||
, PS_image
|
||
#endif
|
||
, ENHPS_OPEN, ENHPS_FLUSH, ENHPS_WRITEC
|
||
- , 0 /* layer control */
|
||
+ , PS_layer /* used only to insert comments */
|
||
, PS_path
|
||
+ , PS_SC /* terminal to pixel coord scale factor */
|
||
TERM_TABLE_END(post_driver)
|
||
|
||
#undef LAST_TERM
|
||
@@ -3432,7 +3733,7 @@ PS_COMMON_OPTS2
|
||
" but transfers the texts to LaTeX instead of including in the PostScript",
|
||
" code. Thus, many options are the same as in the `postscript terminal`.",
|
||
"",
|
||
-" From version 4.0 to 4.2, some changes have been invoked into the default ",
|
||
+" From version 4.0 to 4.1, some changes have been invoked into the default ",
|
||
" appearance of the epslatex terminal to reach better consistency with the",
|
||
" postscript terminal: The plot size has been changed from 5 x 3 inches to",
|
||
" 5 x 3.5 inches; the character width is now estimated to be 60% of the font",
|
||
@@ -3625,7 +3926,7 @@ PS_COMMON_DOC1
|
||
" \\special{psfile=...} command. Remember to close the `output file` before",
|
||
" next plot unless in `multiplot` mode.",
|
||
"",
|
||
-" Gnuplot versions prior version 4.2 have generated plots of the size",
|
||
+" Gnuplot versions prior version 4.1 have generated plots of the size",
|
||
" 5 x 3 inches using the ps(la)tex terminal while the current version generates",
|
||
" 5 x 3.5 inches to be consistent with the postscript eps terminal. In",
|
||
" addition, the character width is now estimated to be 60% of the font size",
|
||
@@ -3678,7 +3979,7 @@ START_HELP(post)
|
||
" {enhanced | noenhanced}",
|
||
" {defaultplex | simplex | duplex}",
|
||
" {fontfile [add | delete] \"<filename>\"",
|
||
-" | nofontfiles}",
|
||
+" | nofontfiles} {{no}adobeglyphnames}",
|
||
PS_COMMON_OPTS1
|
||
PS_COMMON_OPTS2
|
||
PS_COMMON_PROLOG_INFO
|
||
@@ -3748,112 +4049,6 @@ PS_COMMON_DOC1
|
||
" A PostScript file is editable, so once `gnuplot` has created one, you are",
|
||
" free to modify it to your heart's desire. See the `editing postscript`",
|
||
" section for some hints.",
|
||
-"2 enhanced postscript",
|
||
-"?commands set terminal postscript enhanced",
|
||
-"?set terminal postscript enhanced",
|
||
-"?set term postscript enhanced",
|
||
-"?terminal postscript enhanced",
|
||
-"?term postscript enhanced",
|
||
-"?enhanced_postscript",
|
||
-"?enhanced postscript",
|
||
-"?Enhanced postscript",
|
||
-"?enhanced text",
|
||
-"?Enhanced text",
|
||
-"?enhanced",
|
||
-" Several terminal types support an enhanced text mode in which ",
|
||
-" additional formatting information is embedded in the text string.",
|
||
-"",
|
||
-"@start table - first is interactive cleartext form",
|
||
-" Control Examples Explanation",
|
||
-" ^ a^x superscript",
|
||
-" _ a_x subscript",
|
||
-" @ @x or a@^b_c phantom box (occupies no width)",
|
||
-" & &{space} inserts space of specified length",
|
||
-" ~ ~a{.8-} overprints '-' on 'a', raised by .8",
|
||
-" times the current fontsize",
|
||
-"#\\begin{tabular}{|ccl|} \\hline",
|
||
-"#\\multicolumn{3}{|c|}{Enhanced Text Control Codes} \\\\ \\hline",
|
||
-"#Control & Examples & Explanation \\\\ \\hline",
|
||
-"#\\verb~^~ & \\verb~a^x~ & superscript\\\\",
|
||
-"#\\verb~_~ & \\verb~a_x~ & subscript\\\\",
|
||
-"#\\verb~@~ & \\verb~@x or a@^b_c~ & phantom box (occupies no width)\\\\",
|
||
-"#\\verb~&~ & \\verb~&{space}~ & inserts space of specified length\\\\",
|
||
-"#\\verb|~| & \\verb|~a{.8-}| & overprints '-' on 'a', raised by .8\\\\",
|
||
-"#\\verb~ ~ & \\verb~ ~ & times the current fontsize\\\\",
|
||
-"%c c l .",
|
||
-"%.TE", /* ugly - doc2ms uses @ for column separator, but here we */
|
||
-"%.TS", /* need @ in table, so end and restart the table ! */
|
||
-"%center box tab ($) ;",
|
||
-"%c c l .",
|
||
-"%Control$Examples$Explanation",
|
||
-"%_",
|
||
-"%^$a^x$superscript",
|
||
-"%\\&_$a\\&_x$subscript",
|
||
-"% @ $ @x or a\\&@^b\\&_c$phantom box (occupies no width)",
|
||
-"% & $ &{space}$inserts space of specified length",
|
||
-"% ~ $ ~a{.8-}$overprints '-' on 'a', raised by .8",
|
||
-"% $ $times the current fontsize",
|
||
-"@end table",
|
||
-"",
|
||
-" Braces can be used to place multiple-character text where a single character",
|
||
-" is expected (e.g., 2^{10}). To change the font and/or size, use the full",
|
||
-" form: {/[fontname][=fontsize | *fontscale] text}. Thus {/Symbol=20 G} is a",
|
||
-" 20-point GAMMA and {/*0.75 K} is a K at three-quarters of whatever fontsize",
|
||
-" is currently in effect. (The '/' character MUST be the first character after",
|
||
-" the '{'.)",
|
||
-"",
|
||
-" If the encoding vector has been changed by `set encoding`, the default",
|
||
-" encoding vector can be used instead by following the slash with a dash. This",
|
||
-" is unnecessary if you use the Symbol font, however---since /Symbol uses its",
|
||
-" own encoding vector, `gnuplot` will not apply any other encoding vector to",
|
||
-" it.",
|
||
-"",
|
||
-" The phantom box is useful for a@^b_c to align superscripts and subscripts",
|
||
-" but does not work well for overwriting an accent on a letter. (To do the",
|
||
-" latter, it is much better to use 'set encoding iso_8859_1' to change to the",
|
||
-" ISO Latin-1 encoding vector, which contains a large variety of letters with",
|
||
-" accents or other diacritical marks.) Since the box is non-spacing, it is",
|
||
-" sensible to put the shorter of the subscript or superscript in the box (that",
|
||
-" is, after the @).",
|
||
-"",
|
||
-" Space equal in length to a string can be inserted using the '&' character.",
|
||
-" Thus",
|
||
-" 'abc&{def}ghi'",
|
||
-" would produce",
|
||
-" 'abc ghi'.",
|
||
-"",
|
||
-" The '~' character causes the next character or bracketed text to be",
|
||
-" overprinted by the following character or bracketed text. The second text",
|
||
-" will be horizontally centered on the first. Thus '~a/' will result in an 'a'",
|
||
-" with a slash through it. You can also shift the second text vertically by",
|
||
-" preceding the second text with a number, which will define the fraction of the",
|
||
-" current fontsize by which the text will be raised or lowered. In this case",
|
||
-" the number and text must be enclosed in brackets because more than one",
|
||
-" character is necessary. If the overprinted text begins with a number, put a",
|
||
-" space between the vertical offset and the text ('~{abc}{.5 000}'); otherwise",
|
||
-" no space is needed ('~{abc}{.5---}'). You can change the font for one or",
|
||
-" both strings ('~a{.5 /*.2 o}'---an 'a' with a one-fifth-size 'o' on top---and",
|
||
-" the space between the number and the slash is necessary), but you can't",
|
||
-" change it after the beginning of the string. Neither can you use any other",
|
||
-" special syntax within either string. You can, of course, use control",
|
||
-" characters by escaping them (see below), such as '~a{\\^}'",
|
||
-"",
|
||
-" You can access special symbols numerically by specifying \\character-code (in",
|
||
-" octal), e.g., {/Symbol \\245} is the symbol for infinity.",
|
||
-"",
|
||
-" You can escape control characters using \\, e.g., \\\\, \\{, and so on.",
|
||
-"",
|
||
-" But be aware that strings in double-quotes are parsed differently than those",
|
||
-" enclosed in single-quotes. The major difference is that backslashes may need",
|
||
-" to be doubled when in double-quoted strings.",
|
||
-"",
|
||
-" Examples (these are hard to describe in words---try them!):",
|
||
-" set xlabel 'Time (10^6 {/Symbol m}s)'",
|
||
-" set title '{/Symbol=18 \\362@_{/=9.6 0}^{/=12 x}} \\",
|
||
-" {/Helvetica e^{-{/Symbol m}^2/2} d}{/Symbol m}'",
|
||
-"",
|
||
-" The file \"ps_guide.ps\" in the /docs/psdoc subdirectory of the `gnuplot` source",
|
||
-" distribution contains more examples of the enhanced syntax.",
|
||
"2 editing postscript",
|
||
"?commands set terminal postscript editing",
|
||
"?set terminal postscript editing",
|
||
@@ -4009,6 +4204,26 @@ PS_COMMON_DOC1
|
||
" controlled at the time gnuplot is built. However, you can control this",
|
||
" either by defining an environment variable GNUPLOT_PS_DIR or by using the",
|
||
" gnuplot command `set loadpath`. See `set loadpath`.",
|
||
+"2 postscript adobeglyphnames",
|
||
+"?commands set terminal postscript adobeglyphnames",
|
||
+"?set terminal postscript adobeglyphnames",
|
||
+"?terminal postscript adobeglyphnames",
|
||
+"?postscript adobeglyphnames",
|
||
+"?adobeglyphnames",
|
||
+"=UTF-8",
|
||
+" This setting is only relevant to PostScript output with UTF-8 encoding.",
|
||
+" It controls the names used to describe characters with Unicode entry points",
|
||
+" higher than 0x00FF. That is, all characters outside of the Latin1 set.",
|
||
+" In general unicode characters do not have a unique name; they have only a",
|
||
+" unicode identification code. However, Adobe have a recommended scheme for",
|
||
+" assigning names to certain ranges of characters (extended Latin, Greek, etc).",
|
||
+" Some fonts use this scheme, others do not. By default, gnuplot will use",
|
||
+" the Adobe glyph names. E.g. the lower case Greek letter alpha will be called",
|
||
+" /alpha. If you specific `noadobeglyphnames` then instead gnuplot will use",
|
||
+" /uni03B1 to describe this character. If you get this setting wrong, the",
|
||
+" character may not be found even if it is present in the font.",
|
||
+" It is probably always correct to use the default for Adobe fonts, but for",
|
||
+" other fonts you may have to try both settings. See also `fontfile`.",
|
||
"",
|
||
""
|
||
END_HELP(post)
|
||
Index: term/pslatex.trm
|
||
===================================================================
|
||
--- term/pslatex.trm.orig 2009-05-17 07:34:12.000000000 +0200
|
||
+++ term/pslatex.trm 2010-03-04 10:44:26.000000000 +0100
|
||
@@ -441,7 +441,10 @@ EPSLATEX_common_init()
|
||
case S_ENC_ISO8859_2:
|
||
inputenc = "latin2";
|
||
break;
|
||
- case S_ENC_ISO8859_15:
|
||
+ case S_ENC_ISO8859_9: /* ISO8859-9 is Latin5 */
|
||
+ inputenc = "latin5";
|
||
+ break;
|
||
+ case S_ENC_ISO8859_15: /* ISO8859-15 is Latin9 */
|
||
inputenc = "latin9";
|
||
break;
|
||
case S_ENC_CP437:
|
||
Index: term/PostScript/8859-1.ps
|
||
===================================================================
|
||
--- term/PostScript/8859-1.ps.orig 2006-03-24 22:48:47.000000000 +0100
|
||
+++ term/PostScript/8859-1.ps 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -1,3 +1,6 @@
|
||
+%
|
||
+% Encoding for ISO-8859-1 (also called Latin1)
|
||
+%
|
||
/reencodeISO {
|
||
dup dup findfont dup length dict begin
|
||
{ 1 index /FID ne { def }{ pop pop } ifelse } forall
|
||
Index: term/PostScript/8859-15.ps
|
||
===================================================================
|
||
--- term/PostScript/8859-15.ps.orig 2006-03-24 22:48:47.000000000 +0100
|
||
+++ term/PostScript/8859-15.ps 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -1,3 +1,6 @@
|
||
+%
|
||
+% Encoding for ISO-8859-15 (also called Latin9)
|
||
+%
|
||
/reencodeISO15 {
|
||
dup dup findfont dup length dict begin
|
||
{ 1 index /FID ne { def }{ pop pop } ifelse } forall
|
||
Index: term/PostScript/8859-2.ps
|
||
===================================================================
|
||
--- term/PostScript/8859-2.ps.orig 2006-08-12 00:35:05.000000000 +0200
|
||
+++ term/PostScript/8859-2.ps 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -1,4 +1,5 @@
|
||
-% Encoding for ISO-8859-2 (also called as Latin-2), with
|
||
+%
|
||
+% Encoding for ISO-8859-2 (also called Latin2), with
|
||
% minor differences to "true" ISO-8859-2 (*commaaccent
|
||
% instead of *cedilla for sStT -> incorrect in ISO-8859-2,
|
||
% the standard will probably be modified in this respect)
|
||
Index: term/PostScript/8859-9.ps
|
||
===================================================================
|
||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||
+++ term/PostScript/8859-9.ps 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -0,0 +1,44 @@
|
||
+%
|
||
+% Encoding for ISO_8859_9 (also called Latin5)
|
||
+% Plus code points 80-9F used in Codepage 1254
|
||
+%
|
||
+/reencodeISO9 {
|
||
+dup dup findfont dup length dict begin
|
||
+{ 1 index /FID ne { def }{ pop pop } ifelse } forall
|
||
+currentdict /CharStrings known {
|
||
+ CharStrings /Idieresis known {
|
||
+ /Encoding ISOLatin5Encoding def } if
|
||
+} if
|
||
+currentdict end definefont
|
||
+} def
|
||
+/ISOLatin5Encoding [
|
||
+/.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
|
||
+/Euro/.notdef/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
|
||
+/circumflex/perthousand/Scaron/guilsinglleft/OE/.notdef/.notdef/.notdef
|
||
+/.notdef/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash
|
||
+/tilde/trademark/scaron/guilsinglright/oe/.notdef/.notdef/Ydieresis
|
||
+/.notdef/space/exclamdown/cent/sterling/currency/yen/brokenbar
|
||
+/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
|
||
+/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
|
||
+/acute/mu/paragraph/bullet/cedilla/onesuperior/ordmasculine
|
||
+/guillemotright/onequarter/onehalf/threequarters/questiondown
|
||
+/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
|
||
+/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
|
||
+/Idieresis/Gbreve/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
|
||
+/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Idotaccent
|
||
+/Scedilla/germandbls/agrave/aacute/acircumflex/atilde/adieresis
|
||
+/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
|
||
+/iacute/icircumflex/idieresis/gbreve/ntilde/ograve/oacute/ocircumflex
|
||
+/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
|
||
+/dotlessi/scedilla/ydieresis
|
||
+] def
|
||
Index: term/PostScript/NOTE.aglfn
|
||
===================================================================
|
||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||
+++ term/PostScript/NOTE.aglfn 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -0,0 +1,2 @@
|
||
+The document aglfn.txt was obtained from http://www.adobe.com/devnet/opentype/archives/aglfn.txt
|
||
+Do never change this document as this is not allowed by the license found therein.
|
||
Index: term/PostScript/aglfn.txt
|
||
===================================================================
|
||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||
+++ term/PostScript/aglfn.txt 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -0,0 +1,932 @@
|
||
+# ###################################################################################
|
||
+# Copyright (c) 2003,2005,2006,2007 Adobe Systems Incorporated
|
||
+#
|
||
+# Permission is hereby granted, free of charge, to any person obtaining a
|
||
+# copy of this documentation file to use, copy, publish, distribute,
|
||
+# sublicense, and/or sell copies of the documentation, and to permit
|
||
+# others to do the same, provided that:
|
||
+# - No modification, editing or other alteration of this document is
|
||
+# allowed; and
|
||
+# - The above copyright notice and this permission notice shall be
|
||
+# included in all copies of the documentation.
|
||
+#
|
||
+# Permission is hereby granted, free of charge, to any person obtaining a
|
||
+# copy of this documentation file, to create their own derivative works
|
||
+# from the content of this document to use, copy, publish, distribute,
|
||
+# sublicense, and/or sell the derivative works, and to permit others to do
|
||
+# the same, provided that the derived work is not represented as being a
|
||
+# copy or version of this document.
|
||
+#
|
||
+# Adobe shall not be liable to any party for any loss of revenue or profit
|
||
+# or for indirect, incidental, special, consequential, or other similar
|
||
+# damages, whether based on tort (including without limitation negligence
|
||
+# or strict liability), contract or other legal or equitable grounds even
|
||
+# if Adobe has been advised or had reason to know of the possibility of
|
||
+# such damages.<2E> The Adobe materials are provided on an "AS IS" basis.<2E>
|
||
+# Adobe specifically disclaims all express, statutory, or implied
|
||
+# warranties relating to the Adobe materials, including but not limited to
|
||
+# those concerning merchantability or fitness for a particular purpose or
|
||
+# non-infringement of any third party rights regarding the Adobe
|
||
+# materials.
|
||
+# ###################################################################################
|
||
+# Name: Adobe Glyph List For New Fonts
|
||
+# Table version: 1.6
|
||
+# Date: 30 Januaury 2006
|
||
+#
|
||
+# Description:
|
||
+#
|
||
+# The Adobe Glyph List For New Fonts (AGLFN) is meant to provide a list of
|
||
+# base glyph names which are compatible with the AGL specification at
|
||
+# http://partners.adobe.com/asn/developer/type/unicodegn.html.
|
||
+# and which can be used as described in section 6 of that document.
|
||
+#
|
||
+# This list comprises the set of glyph names from the AGLv2,0 which map
|
||
+# to via the AGL rules to the semanticly correct Unicode value. For
|
||
+# example, Asmall is omitted as the AGL maps this to the Unicode
|
||
+# Private Use Area value F761, rather than to the Unicode value for the
|
||
+# character "A". "ffi" is also omitted, as the AGL maps this to the
|
||
+# Alphabetic Presentation Forms Area value FB03, rather than
|
||
+# decomposing it to the three-value Unicode sequence 0066,0066,0069.
|
||
+# See section 7.1 of the Unicode Standard 4.0 on this issue.
|
||
+# "arrowvertex" is omitted becuase this now has a real Unicode
|
||
+# character value, and the AGL is now incorrect in mapping this to the
|
||
+# Private Use Area value F8E6.
|
||
+#
|
||
+# If you do not find an appropriate name for your glyph in this list,
|
||
+# then please refer to section 6 of the document:
|
||
+# http://partners.adobe.com/asn/developer/typeforum/unicodegn.html.
|
||
+#
|
||
+# The Unicode values and names are given for convenience.
|
||
+#
|
||
+# Format: Semicolon-delimited fields:
|
||
+#
|
||
+# (1) Standard UV or CUS UV. (4 uppercase hexadecimal digits)
|
||
+#
|
||
+# (2) Glyph name. (upper- and lowercase letters, digits)
|
||
+#
|
||
+# (3) Character names: Unicode character names for standard UVs, and
|
||
+# descriptive names for CUS UVs. (uppercase letters, hyphen, space)
|
||
+#
|
||
+# The entries are sorted by glyph name in increasing ASCII order; entries
|
||
+# with the same glyph name are sorted in decreasing priority order.
|
||
+#
|
||
+# Lines starting with "#" are comments; blank lines should be ignored.
|
||
+#
|
||
+# 1.6 [30 January 2006]
|
||
+# - Completed work intended in 1.5
|
||
+#
|
||
+# 1.5 [23 November 2005]
|
||
+# - removed duplicated block at end of file
|
||
+# - changed mappings:
|
||
+# 2206;Delta;INCREMENT changed to 0394;Delta;GREEK CAPITAL LETTER DELTA
|
||
+# 2126;Omega;OHM SIGN changed to 03A9;Omega;GREEK CAPITAL LETTER OMEGA
|
||
+# 03BC;mu;MICRO SIGN changed to 03BC;mu;GREEK SMALL LETTER MU
|
||
+# - corrected statement above about why ffi is omitted.
|
||
+
|
||
+# 1.4 [24 September 2003] Changed version to 1.4, to avoid confusion
|
||
+# with the AGL 1.3
|
||
+# fixed spelling errors in the header
|
||
+# fully removed arrowvertex, as it is mapped only to a PUA Unicode value in some fonts.
|
||
+#
|
||
+# 1.1 [17 April 2003] Renamed [Tt]cedilla back to [Tt]commaaccent:
|
||
+#
|
||
+# 1.0 [31 Jan 2003] Original version. Derived from the AGLv1.2 by:
|
||
+# - removing the PUA area codes
|
||
+# - removing duplicate Unicode mappings, and
|
||
+# - renaming tcommaaccent to tcedilla and Tcommaaccent to Tcedilla
|
||
+#
|
||
+0041;A;LATIN CAPITAL LETTER A
|
||
+00C6;AE;LATIN CAPITAL LETTER AE
|
||
+01FC;AEacute;LATIN CAPITAL LETTER AE WITH ACUTE
|
||
+00C1;Aacute;LATIN CAPITAL LETTER A WITH ACUTE
|
||
+0102;Abreve;LATIN CAPITAL LETTER A WITH BREVE
|
||
+00C2;Acircumflex;LATIN CAPITAL LETTER A WITH CIRCUMFLEX
|
||
+00C4;Adieresis;LATIN CAPITAL LETTER A WITH DIAERESIS
|
||
+00C0;Agrave;LATIN CAPITAL LETTER A WITH GRAVE
|
||
+0391;Alpha;GREEK CAPITAL LETTER ALPHA
|
||
+0386;Alphatonos;GREEK CAPITAL LETTER ALPHA WITH TONOS
|
||
+0100;Amacron;LATIN CAPITAL LETTER A WITH MACRON
|
||
+0104;Aogonek;LATIN CAPITAL LETTER A WITH OGONEK
|
||
+00C5;Aring;LATIN CAPITAL LETTER A WITH RING ABOVE
|
||
+01FA;Aringacute;LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
|
||
+00C3;Atilde;LATIN CAPITAL LETTER A WITH TILDE
|
||
+0042;B;LATIN CAPITAL LETTER B
|
||
+0392;Beta;GREEK CAPITAL LETTER BETA
|
||
+0043;C;LATIN CAPITAL LETTER C
|
||
+0106;Cacute;LATIN CAPITAL LETTER C WITH ACUTE
|
||
+010C;Ccaron;LATIN CAPITAL LETTER C WITH CARON
|
||
+00C7;Ccedilla;LATIN CAPITAL LETTER C WITH CEDILLA
|
||
+0108;Ccircumflex;LATIN CAPITAL LETTER C WITH CIRCUMFLEX
|
||
+010A;Cdotaccent;LATIN CAPITAL LETTER C WITH DOT ABOVE
|
||
+03A7;Chi;GREEK CAPITAL LETTER CHI
|
||
+0044;D;LATIN CAPITAL LETTER D
|
||
+010E;Dcaron;LATIN CAPITAL LETTER D WITH CARON
|
||
+0110;Dcroat;LATIN CAPITAL LETTER D WITH STROKE
|
||
+0394;Delta;GREEK CAPITAL LETTER DELTA
|
||
+0045;E;LATIN CAPITAL LETTER E
|
||
+00C9;Eacute;LATIN CAPITAL LETTER E WITH ACUTE
|
||
+0114;Ebreve;LATIN CAPITAL LETTER E WITH BREVE
|
||
+011A;Ecaron;LATIN CAPITAL LETTER E WITH CARON
|
||
+00CA;Ecircumflex;LATIN CAPITAL LETTER E WITH CIRCUMFLEX
|
||
+00CB;Edieresis;LATIN CAPITAL LETTER E WITH DIAERESIS
|
||
+0116;Edotaccent;LATIN CAPITAL LETTER E WITH DOT ABOVE
|
||
+00C8;Egrave;LATIN CAPITAL LETTER E WITH GRAVE
|
||
+0112;Emacron;LATIN CAPITAL LETTER E WITH MACRON
|
||
+014A;Eng;LATIN CAPITAL LETTER ENG
|
||
+0118;Eogonek;LATIN CAPITAL LETTER E WITH OGONEK
|
||
+0395;Epsilon;GREEK CAPITAL LETTER EPSILON
|
||
+0388;Epsilontonos;GREEK CAPITAL LETTER EPSILON WITH TONOS
|
||
+0397;Eta;GREEK CAPITAL LETTER ETA
|
||
+0389;Etatonos;GREEK CAPITAL LETTER ETA WITH TONOS
|
||
+00D0;Eth;LATIN CAPITAL LETTER ETH
|
||
+20AC;Euro;EURO SIGN
|
||
+0046;F;LATIN CAPITAL LETTER F
|
||
+0047;G;LATIN CAPITAL LETTER G
|
||
+0393;Gamma;GREEK CAPITAL LETTER GAMMA
|
||
+011E;Gbreve;LATIN CAPITAL LETTER G WITH BREVE
|
||
+01E6;Gcaron;LATIN CAPITAL LETTER G WITH CARON
|
||
+011C;Gcircumflex;LATIN CAPITAL LETTER G WITH CIRCUMFLEX
|
||
+0122;Gcommaaccent;LATIN CAPITAL LETTER G WITH CEDILLA
|
||
+0120;Gdotaccent;LATIN CAPITAL LETTER G WITH DOT ABOVE
|
||
+0048;H;LATIN CAPITAL LETTER H
|
||
+25CF;H18533;BLACK CIRCLE
|
||
+25AA;H18543;BLACK SMALL SQUARE
|
||
+25AB;H18551;WHITE SMALL SQUARE
|
||
+25A1;H22073;WHITE SQUARE
|
||
+0126;Hbar;LATIN CAPITAL LETTER H WITH STROKE
|
||
+0124;Hcircumflex;LATIN CAPITAL LETTER H WITH CIRCUMFLEX
|
||
+0049;I;LATIN CAPITAL LETTER I
|
||
+0132;IJ;LATIN CAPITAL LIGATURE IJ
|
||
+00CD;Iacute;LATIN CAPITAL LETTER I WITH ACUTE
|
||
+012C;Ibreve;LATIN CAPITAL LETTER I WITH BREVE
|
||
+00CE;Icircumflex;LATIN CAPITAL LETTER I WITH CIRCUMFLEX
|
||
+00CF;Idieresis;LATIN CAPITAL LETTER I WITH DIAERESIS
|
||
+0130;Idotaccent;LATIN CAPITAL LETTER I WITH DOT ABOVE
|
||
+2111;Ifraktur;BLACK-LETTER CAPITAL I
|
||
+00CC;Igrave;LATIN CAPITAL LETTER I WITH GRAVE
|
||
+012A;Imacron;LATIN CAPITAL LETTER I WITH MACRON
|
||
+012E;Iogonek;LATIN CAPITAL LETTER I WITH OGONEK
|
||
+0399;Iota;GREEK CAPITAL LETTER IOTA
|
||
+03AA;Iotadieresis;GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
|
||
+038A;Iotatonos;GREEK CAPITAL LETTER IOTA WITH TONOS
|
||
+0128;Itilde;LATIN CAPITAL LETTER I WITH TILDE
|
||
+004A;J;LATIN CAPITAL LETTER J
|
||
+0134;Jcircumflex;LATIN CAPITAL LETTER J WITH CIRCUMFLEX
|
||
+004B;K;LATIN CAPITAL LETTER K
|
||
+039A;Kappa;GREEK CAPITAL LETTER KAPPA
|
||
+0136;Kcommaaccent;LATIN CAPITAL LETTER K WITH CEDILLA
|
||
+004C;L;LATIN CAPITAL LETTER L
|
||
+0139;Lacute;LATIN CAPITAL LETTER L WITH ACUTE
|
||
+039B;Lambda;GREEK CAPITAL LETTER LAMDA
|
||
+013D;Lcaron;LATIN CAPITAL LETTER L WITH CARON
|
||
+013B;Lcommaaccent;LATIN CAPITAL LETTER L WITH CEDILLA
|
||
+013F;Ldot;LATIN CAPITAL LETTER L WITH MIDDLE DOT
|
||
+0141;Lslash;LATIN CAPITAL LETTER L WITH STROKE
|
||
+004D;M;LATIN CAPITAL LETTER M
|
||
+039C;Mu;GREEK CAPITAL LETTER MU
|
||
+004E;N;LATIN CAPITAL LETTER N
|
||
+0143;Nacute;LATIN CAPITAL LETTER N WITH ACUTE
|
||
+0147;Ncaron;LATIN CAPITAL LETTER N WITH CARON
|
||
+0145;Ncommaaccent;LATIN CAPITAL LETTER N WITH CEDILLA
|
||
+00D1;Ntilde;LATIN CAPITAL LETTER N WITH TILDE
|
||
+039D;Nu;GREEK CAPITAL LETTER NU
|
||
+004F;O;LATIN CAPITAL LETTER O
|
||
+0152;OE;LATIN CAPITAL LIGATURE OE
|
||
+00D3;Oacute;LATIN CAPITAL LETTER O WITH ACUTE
|
||
+014E;Obreve;LATIN CAPITAL LETTER O WITH BREVE
|
||
+00D4;Ocircumflex;LATIN CAPITAL LETTER O WITH CIRCUMFLEX
|
||
+00D6;Odieresis;LATIN CAPITAL LETTER O WITH DIAERESIS
|
||
+00D2;Ograve;LATIN CAPITAL LETTER O WITH GRAVE
|
||
+01A0;Ohorn;LATIN CAPITAL LETTER O WITH HORN
|
||
+0150;Ohungarumlaut;LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
|
||
+014C;Omacron;LATIN CAPITAL LETTER O WITH MACRON
|
||
+03A9;Omega;GREEK CAPITAL LETTER OMEGA
|
||
+038F;Omegatonos;GREEK CAPITAL LETTER OMEGA WITH TONOS
|
||
+039F;Omicron;GREEK CAPITAL LETTER OMICRON
|
||
+038C;Omicrontonos;GREEK CAPITAL LETTER OMICRON WITH TONOS
|
||
+00D8;Oslash;LATIN CAPITAL LETTER O WITH STROKE
|
||
+01FE;Oslashacute;LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
|
||
+00D5;Otilde;LATIN CAPITAL LETTER O WITH TILDE
|
||
+0050;P;LATIN CAPITAL LETTER P
|
||
+03A6;Phi;GREEK CAPITAL LETTER PHI
|
||
+03A0;Pi;GREEK CAPITAL LETTER PI
|
||
+03A8;Psi;GREEK CAPITAL LETTER PSI
|
||
+0051;Q;LATIN CAPITAL LETTER Q
|
||
+0052;R;LATIN CAPITAL LETTER R
|
||
+0154;Racute;LATIN CAPITAL LETTER R WITH ACUTE
|
||
+0158;Rcaron;LATIN CAPITAL LETTER R WITH CARON
|
||
+0156;Rcommaaccent;LATIN CAPITAL LETTER R WITH CEDILLA
|
||
+211C;Rfraktur;BLACK-LETTER CAPITAL R
|
||
+03A1;Rho;GREEK CAPITAL LETTER RHO
|
||
+0053;S;LATIN CAPITAL LETTER S
|
||
+250C;SF010000;BOX DRAWINGS LIGHT DOWN AND RIGHT
|
||
+2514;SF020000;BOX DRAWINGS LIGHT UP AND RIGHT
|
||
+2510;SF030000;BOX DRAWINGS LIGHT DOWN AND LEFT
|
||
+2518;SF040000;BOX DRAWINGS LIGHT UP AND LEFT
|
||
+253C;SF050000;BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
|
||
+252C;SF060000;BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
|
||
+2534;SF070000;BOX DRAWINGS LIGHT UP AND HORIZONTAL
|
||
+251C;SF080000;BOX DRAWINGS LIGHT VERTICAL AND RIGHT
|
||
+2524;SF090000;BOX DRAWINGS LIGHT VERTICAL AND LEFT
|
||
+2500;SF100000;BOX DRAWINGS LIGHT HORIZONTAL
|
||
+2502;SF110000;BOX DRAWINGS LIGHT VERTICAL
|
||
+2561;SF190000;BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
|
||
+2562;SF200000;BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
|
||
+2556;SF210000;BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
|
||
+2555;SF220000;BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
|
||
+2563;SF230000;BOX DRAWINGS DOUBLE VERTICAL AND LEFT
|
||
+2551;SF240000;BOX DRAWINGS DOUBLE VERTICAL
|
||
+2557;SF250000;BOX DRAWINGS DOUBLE DOWN AND LEFT
|
||
+255D;SF260000;BOX DRAWINGS DOUBLE UP AND LEFT
|
||
+255C;SF270000;BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
|
||
+255B;SF280000;BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
|
||
+255E;SF360000;BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
|
||
+255F;SF370000;BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
|
||
+255A;SF380000;BOX DRAWINGS DOUBLE UP AND RIGHT
|
||
+2554;SF390000;BOX DRAWINGS DOUBLE DOWN AND RIGHT
|
||
+2569;SF400000;BOX DRAWINGS DOUBLE UP AND HORIZONTAL
|
||
+2566;SF410000;BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
|
||
+2560;SF420000;BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
|
||
+2550;SF430000;BOX DRAWINGS DOUBLE HORIZONTAL
|
||
+256C;SF440000;BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
|
||
+2567;SF450000;BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
|
||
+2568;SF460000;BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
|
||
+2564;SF470000;BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
|
||
+2565;SF480000;BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
|
||
+2559;SF490000;BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
|
||
+2558;SF500000;BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
|
||
+2552;SF510000;BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
|
||
+2553;SF520000;BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
|
||
+256B;SF530000;BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
|
||
+256A;SF540000;BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
|
||
+015A;Sacute;LATIN CAPITAL LETTER S WITH ACUTE
|
||
+0160;Scaron;LATIN CAPITAL LETTER S WITH CARON
|
||
+015E;Scedilla;LATIN CAPITAL LETTER S WITH CEDILLA
|
||
+015C;Scircumflex;LATIN CAPITAL LETTER S WITH CIRCUMFLEX
|
||
+0218;Scommaaccent;LATIN CAPITAL LETTER S WITH COMMA BELOW
|
||
+03A3;Sigma;GREEK CAPITAL LETTER SIGMA
|
||
+0054;T;LATIN CAPITAL LETTER T
|
||
+03A4;Tau;GREEK CAPITAL LETTER TAU
|
||
+0166;Tbar;LATIN CAPITAL LETTER T WITH STROKE
|
||
+0164;Tcaron;LATIN CAPITAL LETTER T WITH CARON
|
||
+0162;Tcommaaccent;LATIN CAPITAL LETTER T WITH CEDILLA
|
||
+0398;Theta;GREEK CAPITAL LETTER THETA
|
||
+00DE;Thorn;LATIN CAPITAL LETTER THORN
|
||
+0055;U;LATIN CAPITAL LETTER U
|
||
+00DA;Uacute;LATIN CAPITAL LETTER U WITH ACUTE
|
||
+016C;Ubreve;LATIN CAPITAL LETTER U WITH BREVE
|
||
+00DB;Ucircumflex;LATIN CAPITAL LETTER U WITH CIRCUMFLEX
|
||
+00DC;Udieresis;LATIN CAPITAL LETTER U WITH DIAERESIS
|
||
+00D9;Ugrave;LATIN CAPITAL LETTER U WITH GRAVE
|
||
+01AF;Uhorn;LATIN CAPITAL LETTER U WITH HORN
|
||
+0170;Uhungarumlaut;LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
|
||
+016A;Umacron;LATIN CAPITAL LETTER U WITH MACRON
|
||
+0172;Uogonek;LATIN CAPITAL LETTER U WITH OGONEK
|
||
+03A5;Upsilon;GREEK CAPITAL LETTER UPSILON
|
||
+03D2;Upsilon1;GREEK UPSILON WITH HOOK SYMBOL
|
||
+03AB;Upsilondieresis;GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
|
||
+038E;Upsilontonos;GREEK CAPITAL LETTER UPSILON WITH TONOS
|
||
+016E;Uring;LATIN CAPITAL LETTER U WITH RING ABOVE
|
||
+0168;Utilde;LATIN CAPITAL LETTER U WITH TILDE
|
||
+0056;V;LATIN CAPITAL LETTER V
|
||
+0057;W;LATIN CAPITAL LETTER W
|
||
+1E82;Wacute;LATIN CAPITAL LETTER W WITH ACUTE
|
||
+0174;Wcircumflex;LATIN CAPITAL LETTER W WITH CIRCUMFLEX
|
||
+1E84;Wdieresis;LATIN CAPITAL LETTER W WITH DIAERESIS
|
||
+1E80;Wgrave;LATIN CAPITAL LETTER W WITH GRAVE
|
||
+0058;X;LATIN CAPITAL LETTER X
|
||
+039E;Xi;GREEK CAPITAL LETTER XI
|
||
+0059;Y;LATIN CAPITAL LETTER Y
|
||
+00DD;Yacute;LATIN CAPITAL LETTER Y WITH ACUTE
|
||
+0176;Ycircumflex;LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
|
||
+0178;Ydieresis;LATIN CAPITAL LETTER Y WITH DIAERESIS
|
||
+1EF2;Ygrave;LATIN CAPITAL LETTER Y WITH GRAVE
|
||
+005A;Z;LATIN CAPITAL LETTER Z
|
||
+0179;Zacute;LATIN CAPITAL LETTER Z WITH ACUTE
|
||
+017D;Zcaron;LATIN CAPITAL LETTER Z WITH CARON
|
||
+017B;Zdotaccent;LATIN CAPITAL LETTER Z WITH DOT ABOVE
|
||
+0396;Zeta;GREEK CAPITAL LETTER ZETA
|
||
+0061;a;LATIN SMALL LETTER A
|
||
+00E1;aacute;LATIN SMALL LETTER A WITH ACUTE
|
||
+0103;abreve;LATIN SMALL LETTER A WITH BREVE
|
||
+00E2;acircumflex;LATIN SMALL LETTER A WITH CIRCUMFLEX
|
||
+00B4;acute;ACUTE ACCENT
|
||
+0301;acutecomb;COMBINING ACUTE ACCENT
|
||
+00E4;adieresis;LATIN SMALL LETTER A WITH DIAERESIS
|
||
+00E6;ae;LATIN SMALL LETTER AE
|
||
+01FD;aeacute;LATIN SMALL LETTER AE WITH ACUTE
|
||
+2015;afii00208;HORIZONTAL BAR
|
||
+0410;afii10017;CYRILLIC CAPITAL LETTER A
|
||
+0411;afii10018;CYRILLIC CAPITAL LETTER BE
|
||
+0412;afii10019;CYRILLIC CAPITAL LETTER VE
|
||
+0413;afii10020;CYRILLIC CAPITAL LETTER GHE
|
||
+0414;afii10021;CYRILLIC CAPITAL LETTER DE
|
||
+0415;afii10022;CYRILLIC CAPITAL LETTER IE
|
||
+0401;afii10023;CYRILLIC CAPITAL LETTER IO
|
||
+0416;afii10024;CYRILLIC CAPITAL LETTER ZHE
|
||
+0417;afii10025;CYRILLIC CAPITAL LETTER ZE
|
||
+0418;afii10026;CYRILLIC CAPITAL LETTER I
|
||
+0419;afii10027;CYRILLIC CAPITAL LETTER SHORT I
|
||
+041A;afii10028;CYRILLIC CAPITAL LETTER KA
|
||
+041B;afii10029;CYRILLIC CAPITAL LETTER EL
|
||
+041C;afii10030;CYRILLIC CAPITAL LETTER EM
|
||
+041D;afii10031;CYRILLIC CAPITAL LETTER EN
|
||
+041E;afii10032;CYRILLIC CAPITAL LETTER O
|
||
+041F;afii10033;CYRILLIC CAPITAL LETTER PE
|
||
+0420;afii10034;CYRILLIC CAPITAL LETTER ER
|
||
+0421;afii10035;CYRILLIC CAPITAL LETTER ES
|
||
+0422;afii10036;CYRILLIC CAPITAL LETTER TE
|
||
+0423;afii10037;CYRILLIC CAPITAL LETTER U
|
||
+0424;afii10038;CYRILLIC CAPITAL LETTER EF
|
||
+0425;afii10039;CYRILLIC CAPITAL LETTER HA
|
||
+0426;afii10040;CYRILLIC CAPITAL LETTER TSE
|
||
+0427;afii10041;CYRILLIC CAPITAL LETTER CHE
|
||
+0428;afii10042;CYRILLIC CAPITAL LETTER SHA
|
||
+0429;afii10043;CYRILLIC CAPITAL LETTER SHCHA
|
||
+042A;afii10044;CYRILLIC CAPITAL LETTER HARD SIGN
|
||
+042B;afii10045;CYRILLIC CAPITAL LETTER YERU
|
||
+042C;afii10046;CYRILLIC CAPITAL LETTER SOFT SIGN
|
||
+042D;afii10047;CYRILLIC CAPITAL LETTER E
|
||
+042E;afii10048;CYRILLIC CAPITAL LETTER YU
|
||
+042F;afii10049;CYRILLIC CAPITAL LETTER YA
|
||
+0490;afii10050;CYRILLIC CAPITAL LETTER GHE WITH UPTURN
|
||
+0402;afii10051;CYRILLIC CAPITAL LETTER DJE
|
||
+0403;afii10052;CYRILLIC CAPITAL LETTER GJE
|
||
+0404;afii10053;CYRILLIC CAPITAL LETTER UKRAINIAN IE
|
||
+0405;afii10054;CYRILLIC CAPITAL LETTER DZE
|
||
+0406;afii10055;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
|
||
+0407;afii10056;CYRILLIC CAPITAL LETTER YI
|
||
+0408;afii10057;CYRILLIC CAPITAL LETTER JE
|
||
+0409;afii10058;CYRILLIC CAPITAL LETTER LJE
|
||
+040A;afii10059;CYRILLIC CAPITAL LETTER NJE
|
||
+040B;afii10060;CYRILLIC CAPITAL LETTER TSHE
|
||
+040C;afii10061;CYRILLIC CAPITAL LETTER KJE
|
||
+040E;afii10062;CYRILLIC CAPITAL LETTER SHORT U
|
||
+0430;afii10065;CYRILLIC SMALL LETTER A
|
||
+0431;afii10066;CYRILLIC SMALL LETTER BE
|
||
+0432;afii10067;CYRILLIC SMALL LETTER VE
|
||
+0433;afii10068;CYRILLIC SMALL LETTER GHE
|
||
+0434;afii10069;CYRILLIC SMALL LETTER DE
|
||
+0435;afii10070;CYRILLIC SMALL LETTER IE
|
||
+0451;afii10071;CYRILLIC SMALL LETTER IO
|
||
+0436;afii10072;CYRILLIC SMALL LETTER ZHE
|
||
+0437;afii10073;CYRILLIC SMALL LETTER ZE
|
||
+0438;afii10074;CYRILLIC SMALL LETTER I
|
||
+0439;afii10075;CYRILLIC SMALL LETTER SHORT I
|
||
+043A;afii10076;CYRILLIC SMALL LETTER KA
|
||
+043B;afii10077;CYRILLIC SMALL LETTER EL
|
||
+043C;afii10078;CYRILLIC SMALL LETTER EM
|
||
+043D;afii10079;CYRILLIC SMALL LETTER EN
|
||
+043E;afii10080;CYRILLIC SMALL LETTER O
|
||
+043F;afii10081;CYRILLIC SMALL LETTER PE
|
||
+0440;afii10082;CYRILLIC SMALL LETTER ER
|
||
+0441;afii10083;CYRILLIC SMALL LETTER ES
|
||
+0442;afii10084;CYRILLIC SMALL LETTER TE
|
||
+0443;afii10085;CYRILLIC SMALL LETTER U
|
||
+0444;afii10086;CYRILLIC SMALL LETTER EF
|
||
+0445;afii10087;CYRILLIC SMALL LETTER HA
|
||
+0446;afii10088;CYRILLIC SMALL LETTER TSE
|
||
+0447;afii10089;CYRILLIC SMALL LETTER CHE
|
||
+0448;afii10090;CYRILLIC SMALL LETTER SHA
|
||
+0449;afii10091;CYRILLIC SMALL LETTER SHCHA
|
||
+044A;afii10092;CYRILLIC SMALL LETTER HARD SIGN
|
||
+044B;afii10093;CYRILLIC SMALL LETTER YERU
|
||
+044C;afii10094;CYRILLIC SMALL LETTER SOFT SIGN
|
||
+044D;afii10095;CYRILLIC SMALL LETTER E
|
||
+044E;afii10096;CYRILLIC SMALL LETTER YU
|
||
+044F;afii10097;CYRILLIC SMALL LETTER YA
|
||
+0491;afii10098;CYRILLIC SMALL LETTER GHE WITH UPTURN
|
||
+0452;afii10099;CYRILLIC SMALL LETTER DJE
|
||
+0453;afii10100;CYRILLIC SMALL LETTER GJE
|
||
+0454;afii10101;CYRILLIC SMALL LETTER UKRAINIAN IE
|
||
+0455;afii10102;CYRILLIC SMALL LETTER DZE
|
||
+0456;afii10103;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
|
||
+0457;afii10104;CYRILLIC SMALL LETTER YI
|
||
+0458;afii10105;CYRILLIC SMALL LETTER JE
|
||
+0459;afii10106;CYRILLIC SMALL LETTER LJE
|
||
+045A;afii10107;CYRILLIC SMALL LETTER NJE
|
||
+045B;afii10108;CYRILLIC SMALL LETTER TSHE
|
||
+045C;afii10109;CYRILLIC SMALL LETTER KJE
|
||
+045E;afii10110;CYRILLIC SMALL LETTER SHORT U
|
||
+040F;afii10145;CYRILLIC CAPITAL LETTER DZHE
|
||
+0462;afii10146;CYRILLIC CAPITAL LETTER YAT
|
||
+0472;afii10147;CYRILLIC CAPITAL LETTER FITA
|
||
+0474;afii10148;CYRILLIC CAPITAL LETTER IZHITSA
|
||
+045F;afii10193;CYRILLIC SMALL LETTER DZHE
|
||
+0463;afii10194;CYRILLIC SMALL LETTER YAT
|
||
+0473;afii10195;CYRILLIC SMALL LETTER FITA
|
||
+0475;afii10196;CYRILLIC SMALL LETTER IZHITSA
|
||
+04D9;afii10846;CYRILLIC SMALL LETTER SCHWA
|
||
+200E;afii299;LEFT-TO-RIGHT MARK
|
||
+200F;afii300;RIGHT-TO-LEFT MARK
|
||
+200D;afii301;ZERO WIDTH JOINER
|
||
+066A;afii57381;ARABIC PERCENT SIGN
|
||
+060C;afii57388;ARABIC COMMA
|
||
+0660;afii57392;ARABIC-INDIC DIGIT ZERO
|
||
+0661;afii57393;ARABIC-INDIC DIGIT ONE
|
||
+0662;afii57394;ARABIC-INDIC DIGIT TWO
|
||
+0663;afii57395;ARABIC-INDIC DIGIT THREE
|
||
+0664;afii57396;ARABIC-INDIC DIGIT FOUR
|
||
+0665;afii57397;ARABIC-INDIC DIGIT FIVE
|
||
+0666;afii57398;ARABIC-INDIC DIGIT SIX
|
||
+0667;afii57399;ARABIC-INDIC DIGIT SEVEN
|
||
+0668;afii57400;ARABIC-INDIC DIGIT EIGHT
|
||
+0669;afii57401;ARABIC-INDIC DIGIT NINE
|
||
+061B;afii57403;ARABIC SEMICOLON
|
||
+061F;afii57407;ARABIC QUESTION MARK
|
||
+0621;afii57409;ARABIC LETTER HAMZA
|
||
+0622;afii57410;ARABIC LETTER ALEF WITH MADDA ABOVE
|
||
+0623;afii57411;ARABIC LETTER ALEF WITH HAMZA ABOVE
|
||
+0624;afii57412;ARABIC LETTER WAW WITH HAMZA ABOVE
|
||
+0625;afii57413;ARABIC LETTER ALEF WITH HAMZA BELOW
|
||
+0626;afii57414;ARABIC LETTER YEH WITH HAMZA ABOVE
|
||
+0627;afii57415;ARABIC LETTER ALEF
|
||
+0628;afii57416;ARABIC LETTER BEH
|
||
+0629;afii57417;ARABIC LETTER TEH MARBUTA
|
||
+062A;afii57418;ARABIC LETTER TEH
|
||
+062B;afii57419;ARABIC LETTER THEH
|
||
+062C;afii57420;ARABIC LETTER JEEM
|
||
+062D;afii57421;ARABIC LETTER HAH
|
||
+062E;afii57422;ARABIC LETTER KHAH
|
||
+062F;afii57423;ARABIC LETTER DAL
|
||
+0630;afii57424;ARABIC LETTER THAL
|
||
+0631;afii57425;ARABIC LETTER REH
|
||
+0632;afii57426;ARABIC LETTER ZAIN
|
||
+0633;afii57427;ARABIC LETTER SEEN
|
||
+0634;afii57428;ARABIC LETTER SHEEN
|
||
+0635;afii57429;ARABIC LETTER SAD
|
||
+0636;afii57430;ARABIC LETTER DAD
|
||
+0637;afii57431;ARABIC LETTER TAH
|
||
+0638;afii57432;ARABIC LETTER ZAH
|
||
+0639;afii57433;ARABIC LETTER AIN
|
||
+063A;afii57434;ARABIC LETTER GHAIN
|
||
+0640;afii57440;ARABIC TATWEEL
|
||
+0641;afii57441;ARABIC LETTER FEH
|
||
+0642;afii57442;ARABIC LETTER QAF
|
||
+0643;afii57443;ARABIC LETTER KAF
|
||
+0644;afii57444;ARABIC LETTER LAM
|
||
+0645;afii57445;ARABIC LETTER MEEM
|
||
+0646;afii57446;ARABIC LETTER NOON
|
||
+0648;afii57448;ARABIC LETTER WAW
|
||
+0649;afii57449;ARABIC LETTER ALEF MAKSURA
|
||
+064A;afii57450;ARABIC LETTER YEH
|
||
+064B;afii57451;ARABIC FATHATAN
|
||
+064C;afii57452;ARABIC DAMMATAN
|
||
+064D;afii57453;ARABIC KASRATAN
|
||
+064E;afii57454;ARABIC FATHA
|
||
+064F;afii57455;ARABIC DAMMA
|
||
+0650;afii57456;ARABIC KASRA
|
||
+0651;afii57457;ARABIC SHADDA
|
||
+0652;afii57458;ARABIC SUKUN
|
||
+0647;afii57470;ARABIC LETTER HEH
|
||
+06A4;afii57505;ARABIC LETTER VEH
|
||
+067E;afii57506;ARABIC LETTER PEH
|
||
+0686;afii57507;ARABIC LETTER TCHEH
|
||
+0698;afii57508;ARABIC LETTER JEH
|
||
+06AF;afii57509;ARABIC LETTER GAF
|
||
+0679;afii57511;ARABIC LETTER TTEH
|
||
+0688;afii57512;ARABIC LETTER DDAL
|
||
+0691;afii57513;ARABIC LETTER RREH
|
||
+06BA;afii57514;ARABIC LETTER NOON GHUNNA
|
||
+06D2;afii57519;ARABIC LETTER YEH BARREE
|
||
+06D5;afii57534;ARABIC LETTER AE
|
||
+20AA;afii57636;NEW SHEQEL SIGN
|
||
+05BE;afii57645;HEBREW PUNCTUATION MAQAF
|
||
+05C3;afii57658;HEBREW PUNCTUATION SOF PASUQ
|
||
+05D0;afii57664;HEBREW LETTER ALEF
|
||
+05D1;afii57665;HEBREW LETTER BET
|
||
+05D2;afii57666;HEBREW LETTER GIMEL
|
||
+05D3;afii57667;HEBREW LETTER DALET
|
||
+05D4;afii57668;HEBREW LETTER HE
|
||
+05D5;afii57669;HEBREW LETTER VAV
|
||
+05D6;afii57670;HEBREW LETTER ZAYIN
|
||
+05D7;afii57671;HEBREW LETTER HET
|
||
+05D8;afii57672;HEBREW LETTER TET
|
||
+05D9;afii57673;HEBREW LETTER YOD
|
||
+05DA;afii57674;HEBREW LETTER FINAL KAF
|
||
+05DB;afii57675;HEBREW LETTER KAF
|
||
+05DC;afii57676;HEBREW LETTER LAMED
|
||
+05DD;afii57677;HEBREW LETTER FINAL MEM
|
||
+05DE;afii57678;HEBREW LETTER MEM
|
||
+05DF;afii57679;HEBREW LETTER FINAL NUN
|
||
+05E0;afii57680;HEBREW LETTER NUN
|
||
+05E1;afii57681;HEBREW LETTER SAMEKH
|
||
+05E2;afii57682;HEBREW LETTER AYIN
|
||
+05E3;afii57683;HEBREW LETTER FINAL PE
|
||
+05E4;afii57684;HEBREW LETTER PE
|
||
+05E5;afii57685;HEBREW LETTER FINAL TSADI
|
||
+05E6;afii57686;HEBREW LETTER TSADI
|
||
+05E7;afii57687;HEBREW LETTER QOF
|
||
+05E8;afii57688;HEBREW LETTER RESH
|
||
+05E9;afii57689;HEBREW LETTER SHIN
|
||
+05EA;afii57690;HEBREW LETTER TAV
|
||
+05F0;afii57716;HEBREW LIGATURE YIDDISH DOUBLE VAV
|
||
+05F1;afii57717;HEBREW LIGATURE YIDDISH VAV YOD
|
||
+05F2;afii57718;HEBREW LIGATURE YIDDISH DOUBLE YOD
|
||
+05B4;afii57793;HEBREW POINT HIRIQ
|
||
+05B5;afii57794;HEBREW POINT TSERE
|
||
+05B6;afii57795;HEBREW POINT SEGOL
|
||
+05BB;afii57796;HEBREW POINT QUBUTS
|
||
+05B8;afii57797;HEBREW POINT QAMATS
|
||
+05B7;afii57798;HEBREW POINT PATAH
|
||
+05B0;afii57799;HEBREW POINT SHEVA
|
||
+05B2;afii57800;HEBREW POINT HATAF PATAH
|
||
+05B1;afii57801;HEBREW POINT HATAF SEGOL
|
||
+05B3;afii57802;HEBREW POINT HATAF QAMATS
|
||
+05C2;afii57803;HEBREW POINT SIN DOT
|
||
+05C1;afii57804;HEBREW POINT SHIN DOT
|
||
+05B9;afii57806;HEBREW POINT HOLAM
|
||
+05BC;afii57807;HEBREW POINT DAGESH OR MAPIQ
|
||
+05BD;afii57839;HEBREW POINT METEG
|
||
+05BF;afii57841;HEBREW POINT RAFE
|
||
+05C0;afii57842;HEBREW PUNCTUATION PASEQ
|
||
+02BC;afii57929;MODIFIER LETTER APOSTROPHE
|
||
+2105;afii61248;CARE OF
|
||
+2113;afii61289;SCRIPT SMALL L
|
||
+2116;afii61352;NUMERO SIGN
|
||
+202C;afii61573;POP DIRECTIONAL FORMATTING
|
||
+202D;afii61574;LEFT-TO-RIGHT OVERRIDE
|
||
+202E;afii61575;RIGHT-TO-LEFT OVERRIDE
|
||
+200C;afii61664;ZERO WIDTH NON-JOINER
|
||
+066D;afii63167;ARABIC FIVE POINTED STAR
|
||
+02BD;afii64937;MODIFIER LETTER REVERSED COMMA
|
||
+00E0;agrave;LATIN SMALL LETTER A WITH GRAVE
|
||
+2135;aleph;ALEF SYMBOL
|
||
+03B1;alpha;GREEK SMALL LETTER ALPHA
|
||
+03AC;alphatonos;GREEK SMALL LETTER ALPHA WITH TONOS
|
||
+0101;amacron;LATIN SMALL LETTER A WITH MACRON
|
||
+0026;ampersand;AMPERSAND
|
||
+2220;angle;ANGLE
|
||
+2329;angleleft;LEFT-POINTING ANGLE BRACKET
|
||
+232A;angleright;RIGHT-POINTING ANGLE BRACKET
|
||
+0387;anoteleia;GREEK ANO TELEIA
|
||
+0105;aogonek;LATIN SMALL LETTER A WITH OGONEK
|
||
+2248;approxequal;ALMOST EQUAL TO
|
||
+00E5;aring;LATIN SMALL LETTER A WITH RING ABOVE
|
||
+01FB;aringacute;LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
|
||
+2194;arrowboth;LEFT RIGHT ARROW
|
||
+21D4;arrowdblboth;LEFT RIGHT DOUBLE ARROW
|
||
+21D3;arrowdbldown;DOWNWARDS DOUBLE ARROW
|
||
+21D0;arrowdblleft;LEFTWARDS DOUBLE ARROW
|
||
+21D2;arrowdblright;RIGHTWARDS DOUBLE ARROW
|
||
+21D1;arrowdblup;UPWARDS DOUBLE ARROW
|
||
+2193;arrowdown;DOWNWARDS ARROW
|
||
+2190;arrowleft;LEFTWARDS ARROW
|
||
+2192;arrowright;RIGHTWARDS ARROW
|
||
+2191;arrowup;UPWARDS ARROW
|
||
+2195;arrowupdn;UP DOWN ARROW
|
||
+21A8;arrowupdnbse;UP DOWN ARROW WITH BASE
|
||
+005E;asciicircum;CIRCUMFLEX ACCENT
|
||
+007E;asciitilde;TILDE
|
||
+002A;asterisk;ASTERISK
|
||
+2217;asteriskmath;ASTERISK OPERATOR
|
||
+0040;at;COMMERCIAL AT
|
||
+00E3;atilde;LATIN SMALL LETTER A WITH TILDE
|
||
+0062;b;LATIN SMALL LETTER B
|
||
+005C;backslash;REVERSE SOLIDUS
|
||
+007C;bar;VERTICAL LINE
|
||
+03B2;beta;GREEK SMALL LETTER BETA
|
||
+2588;block;FULL BLOCK
|
||
+007B;braceleft;LEFT CURLY BRACKET
|
||
+007D;braceright;RIGHT CURLY BRACKET
|
||
+005B;bracketleft;LEFT SQUARE BRACKET
|
||
+005D;bracketright;RIGHT SQUARE BRACKET
|
||
+02D8;breve;BREVE
|
||
+00A6;brokenbar;BROKEN BAR
|
||
+2022;bullet;BULLET
|
||
+0063;c;LATIN SMALL LETTER C
|
||
+0107;cacute;LATIN SMALL LETTER C WITH ACUTE
|
||
+02C7;caron;CARON
|
||
+21B5;carriagereturn;DOWNWARDS ARROW WITH CORNER LEFTWARDS
|
||
+010D;ccaron;LATIN SMALL LETTER C WITH CARON
|
||
+00E7;ccedilla;LATIN SMALL LETTER C WITH CEDILLA
|
||
+0109;ccircumflex;LATIN SMALL LETTER C WITH CIRCUMFLEX
|
||
+010B;cdotaccent;LATIN SMALL LETTER C WITH DOT ABOVE
|
||
+00B8;cedilla;CEDILLA
|
||
+00A2;cent;CENT SIGN
|
||
+03C7;chi;GREEK SMALL LETTER CHI
|
||
+25CB;circle;WHITE CIRCLE
|
||
+2297;circlemultiply;CIRCLED TIMES
|
||
+2295;circleplus;CIRCLED PLUS
|
||
+02C6;circumflex;MODIFIER LETTER CIRCUMFLEX ACCENT
|
||
+2663;club;BLACK CLUB SUIT
|
||
+003A;colon;COLON
|
||
+20A1;colonmonetary;COLON SIGN
|
||
+002C;comma;COMMA
|
||
+2245;congruent;APPROXIMATELY EQUAL TO
|
||
+00A9;copyright;COPYRIGHT SIGN
|
||
+00A4;currency;CURRENCY SIGN
|
||
+0064;d;LATIN SMALL LETTER D
|
||
+2020;dagger;DAGGER
|
||
+2021;daggerdbl;DOUBLE DAGGER
|
||
+010F;dcaron;LATIN SMALL LETTER D WITH CARON
|
||
+0111;dcroat;LATIN SMALL LETTER D WITH STROKE
|
||
+00B0;degree;DEGREE SIGN
|
||
+03B4;delta;GREEK SMALL LETTER DELTA
|
||
+2666;diamond;BLACK DIAMOND SUIT
|
||
+00A8;dieresis;DIAERESIS
|
||
+0385;dieresistonos;GREEK DIALYTIKA TONOS
|
||
+00F7;divide;DIVISION SIGN
|
||
+2593;dkshade;DARK SHADE
|
||
+2584;dnblock;LOWER HALF BLOCK
|
||
+0024;dollar;DOLLAR SIGN
|
||
+20AB;dong;DONG SIGN
|
||
+02D9;dotaccent;DOT ABOVE
|
||
+0323;dotbelowcomb;COMBINING DOT BELOW
|
||
+0131;dotlessi;LATIN SMALL LETTER DOTLESS I
|
||
+22C5;dotmath;DOT OPERATOR
|
||
+0065;e;LATIN SMALL LETTER E
|
||
+00E9;eacute;LATIN SMALL LETTER E WITH ACUTE
|
||
+0115;ebreve;LATIN SMALL LETTER E WITH BREVE
|
||
+011B;ecaron;LATIN SMALL LETTER E WITH CARON
|
||
+00EA;ecircumflex;LATIN SMALL LETTER E WITH CIRCUMFLEX
|
||
+00EB;edieresis;LATIN SMALL LETTER E WITH DIAERESIS
|
||
+0117;edotaccent;LATIN SMALL LETTER E WITH DOT ABOVE
|
||
+00E8;egrave;LATIN SMALL LETTER E WITH GRAVE
|
||
+0038;eight;DIGIT EIGHT
|
||
+2208;element;ELEMENT OF
|
||
+2026;ellipsis;HORIZONTAL ELLIPSIS
|
||
+0113;emacron;LATIN SMALL LETTER E WITH MACRON
|
||
+2014;emdash;EM DASH
|
||
+2205;emptyset;EMPTY SET
|
||
+2013;endash;EN DASH
|
||
+014B;eng;LATIN SMALL LETTER ENG
|
||
+0119;eogonek;LATIN SMALL LETTER E WITH OGONEK
|
||
+03B5;epsilon;GREEK SMALL LETTER EPSILON
|
||
+03AD;epsilontonos;GREEK SMALL LETTER EPSILON WITH TONOS
|
||
+003D;equal;EQUALS SIGN
|
||
+2261;equivalence;IDENTICAL TO
|
||
+212E;estimated;ESTIMATED SYMBOL
|
||
+03B7;eta;GREEK SMALL LETTER ETA
|
||
+03AE;etatonos;GREEK SMALL LETTER ETA WITH TONOS
|
||
+00F0;eth;LATIN SMALL LETTER ETH
|
||
+0021;exclam;EXCLAMATION MARK
|
||
+203C;exclamdbl;DOUBLE EXCLAMATION MARK
|
||
+00A1;exclamdown;INVERTED EXCLAMATION MARK
|
||
+2203;existential;THERE EXISTS
|
||
+0066;f;LATIN SMALL LETTER F
|
||
+2640;female;FEMALE SIGN
|
||
+2012;figuredash;FIGURE DASH
|
||
+25A0;filledbox;BLACK SQUARE
|
||
+25AC;filledrect;BLACK RECTANGLE
|
||
+0035;five;DIGIT FIVE
|
||
+215D;fiveeighths;VULGAR FRACTION FIVE EIGHTHS
|
||
+0192;florin;LATIN SMALL LETTER F WITH HOOK
|
||
+0034;four;DIGIT FOUR
|
||
+2044;fraction;FRACTION SLASH
|
||
+20A3;franc;FRENCH FRANC SIGN
|
||
+0067;g;LATIN SMALL LETTER G
|
||
+03B3;gamma;GREEK SMALL LETTER GAMMA
|
||
+011F;gbreve;LATIN SMALL LETTER G WITH BREVE
|
||
+01E7;gcaron;LATIN SMALL LETTER G WITH CARON
|
||
+011D;gcircumflex;LATIN SMALL LETTER G WITH CIRCUMFLEX
|
||
+0123;gcommaaccent;LATIN SMALL LETTER G WITH CEDILLA
|
||
+0121;gdotaccent;LATIN SMALL LETTER G WITH DOT ABOVE
|
||
+00DF;germandbls;LATIN SMALL LETTER SHARP S
|
||
+2207;gradient;NABLA
|
||
+0060;grave;GRAVE ACCENT
|
||
+0300;gravecomb;COMBINING GRAVE ACCENT
|
||
+003E;greater;GREATER-THAN SIGN
|
||
+2265;greaterequal;GREATER-THAN OR EQUAL TO
|
||
+00AB;guillemotleft;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||
+00BB;guillemotright;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||
+2039;guilsinglleft;SINGLE LEFT-POINTING ANGLE QUOTATION MARK
|
||
+203A;guilsinglright;SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
|
||
+0068;h;LATIN SMALL LETTER H
|
||
+0127;hbar;LATIN SMALL LETTER H WITH STROKE
|
||
+0125;hcircumflex;LATIN SMALL LETTER H WITH CIRCUMFLEX
|
||
+2665;heart;BLACK HEART SUIT
|
||
+0309;hookabovecomb;COMBINING HOOK ABOVE
|
||
+2302;house;HOUSE
|
||
+02DD;hungarumlaut;DOUBLE ACUTE ACCENT
|
||
+002D;hyphen;HYPHEN-MINUS
|
||
+0069;i;LATIN SMALL LETTER I
|
||
+00ED;iacute;LATIN SMALL LETTER I WITH ACUTE
|
||
+012D;ibreve;LATIN SMALL LETTER I WITH BREVE
|
||
+00EE;icircumflex;LATIN SMALL LETTER I WITH CIRCUMFLEX
|
||
+00EF;idieresis;LATIN SMALL LETTER I WITH DIAERESIS
|
||
+00EC;igrave;LATIN SMALL LETTER I WITH GRAVE
|
||
+0133;ij;LATIN SMALL LIGATURE IJ
|
||
+012B;imacron;LATIN SMALL LETTER I WITH MACRON
|
||
+221E;infinity;INFINITY
|
||
+222B;integral;INTEGRAL
|
||
+2321;integralbt;BOTTOM HALF INTEGRAL
|
||
+2320;integraltp;TOP HALF INTEGRAL
|
||
+2229;intersection;INTERSECTION
|
||
+25D8;invbullet;INVERSE BULLET
|
||
+25D9;invcircle;INVERSE WHITE CIRCLE
|
||
+263B;invsmileface;BLACK SMILING FACE
|
||
+012F;iogonek;LATIN SMALL LETTER I WITH OGONEK
|
||
+03B9;iota;GREEK SMALL LETTER IOTA
|
||
+03CA;iotadieresis;GREEK SMALL LETTER IOTA WITH DIALYTIKA
|
||
+0390;iotadieresistonos;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
|
||
+03AF;iotatonos;GREEK SMALL LETTER IOTA WITH TONOS
|
||
+0129;itilde;LATIN SMALL LETTER I WITH TILDE
|
||
+006A;j;LATIN SMALL LETTER J
|
||
+0135;jcircumflex;LATIN SMALL LETTER J WITH CIRCUMFLEX
|
||
+006B;k;LATIN SMALL LETTER K
|
||
+03BA;kappa;GREEK SMALL LETTER KAPPA
|
||
+0137;kcommaaccent;LATIN SMALL LETTER K WITH CEDILLA
|
||
+0138;kgreenlandic;LATIN SMALL LETTER KRA
|
||
+006C;l;LATIN SMALL LETTER L
|
||
+013A;lacute;LATIN SMALL LETTER L WITH ACUTE
|
||
+03BB;lambda;GREEK SMALL LETTER LAMDA
|
||
+013E;lcaron;LATIN SMALL LETTER L WITH CARON
|
||
+013C;lcommaaccent;LATIN SMALL LETTER L WITH CEDILLA
|
||
+0140;ldot;LATIN SMALL LETTER L WITH MIDDLE DOT
|
||
+003C;less;LESS-THAN SIGN
|
||
+2264;lessequal;LESS-THAN OR EQUAL TO
|
||
+258C;lfblock;LEFT HALF BLOCK
|
||
+20A4;lira;LIRA SIGN
|
||
+2227;logicaland;LOGICAL AND
|
||
+00AC;logicalnot;NOT SIGN
|
||
+2228;logicalor;LOGICAL OR
|
||
+017F;longs;LATIN SMALL LETTER LONG S
|
||
+25CA;lozenge;LOZENGE
|
||
+0142;lslash;LATIN SMALL LETTER L WITH STROKE
|
||
+2591;ltshade;LIGHT SHADE
|
||
+006D;m;LATIN SMALL LETTER M
|
||
+00AF;macron;MACRON
|
||
+2642;male;MALE SIGN
|
||
+2212;minus;MINUS SIGN
|
||
+2032;minute;PRIME
|
||
+03BC;mu;GREEK SMALL LETTER MU
|
||
+00D7;multiply;MULTIPLICATION SIGN
|
||
+266A;musicalnote;EIGHTH NOTE
|
||
+266B;musicalnotedbl;BEAMED EIGHTH NOTES
|
||
+006E;n;LATIN SMALL LETTER N
|
||
+0144;nacute;LATIN SMALL LETTER N WITH ACUTE
|
||
+0149;napostrophe;LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
|
||
+0148;ncaron;LATIN SMALL LETTER N WITH CARON
|
||
+0146;ncommaaccent;LATIN SMALL LETTER N WITH CEDILLA
|
||
+0039;nine;DIGIT NINE
|
||
+2209;notelement;NOT AN ELEMENT OF
|
||
+2260;notequal;NOT EQUAL TO
|
||
+2284;notsubset;NOT A SUBSET OF
|
||
+00F1;ntilde;LATIN SMALL LETTER N WITH TILDE
|
||
+03BD;nu;GREEK SMALL LETTER NU
|
||
+0023;numbersign;NUMBER SIGN
|
||
+006F;o;LATIN SMALL LETTER O
|
||
+00F3;oacute;LATIN SMALL LETTER O WITH ACUTE
|
||
+014F;obreve;LATIN SMALL LETTER O WITH BREVE
|
||
+00F4;ocircumflex;LATIN SMALL LETTER O WITH CIRCUMFLEX
|
||
+00F6;odieresis;LATIN SMALL LETTER O WITH DIAERESIS
|
||
+0153;oe;LATIN SMALL LIGATURE OE
|
||
+02DB;ogonek;OGONEK
|
||
+00F2;ograve;LATIN SMALL LETTER O WITH GRAVE
|
||
+01A1;ohorn;LATIN SMALL LETTER O WITH HORN
|
||
+0151;ohungarumlaut;LATIN SMALL LETTER O WITH DOUBLE ACUTE
|
||
+014D;omacron;LATIN SMALL LETTER O WITH MACRON
|
||
+03C9;omega;GREEK SMALL LETTER OMEGA
|
||
+03D6;omega1;GREEK PI SYMBOL
|
||
+03CE;omegatonos;GREEK SMALL LETTER OMEGA WITH TONOS
|
||
+03BF;omicron;GREEK SMALL LETTER OMICRON
|
||
+03CC;omicrontonos;GREEK SMALL LETTER OMICRON WITH TONOS
|
||
+0031;one;DIGIT ONE
|
||
+2024;onedotenleader;ONE DOT LEADER
|
||
+215B;oneeighth;VULGAR FRACTION ONE EIGHTH
|
||
+00BD;onehalf;VULGAR FRACTION ONE HALF
|
||
+00BC;onequarter;VULGAR FRACTION ONE QUARTER
|
||
+2153;onethird;VULGAR FRACTION ONE THIRD
|
||
+25E6;openbullet;WHITE BULLET
|
||
+00AA;ordfeminine;FEMININE ORDINAL INDICATOR
|
||
+00BA;ordmasculine;MASCULINE ORDINAL INDICATOR
|
||
+221F;orthogonal;RIGHT ANGLE
|
||
+00F8;oslash;LATIN SMALL LETTER O WITH STROKE
|
||
+01FF;oslashacute;LATIN SMALL LETTER O WITH STROKE AND ACUTE
|
||
+00F5;otilde;LATIN SMALL LETTER O WITH TILDE
|
||
+0070;p;LATIN SMALL LETTER P
|
||
+00B6;paragraph;PILCROW SIGN
|
||
+0028;parenleft;LEFT PARENTHESIS
|
||
+0029;parenright;RIGHT PARENTHESIS
|
||
+2202;partialdiff;PARTIAL DIFFERENTIAL
|
||
+0025;percent;PERCENT SIGN
|
||
+002E;period;FULL STOP
|
||
+00B7;periodcentered;MIDDLE DOT
|
||
+22A5;perpendicular;UP TACK
|
||
+2030;perthousand;PER MILLE SIGN
|
||
+20A7;peseta;PESETA SIGN
|
||
+03C6;phi;GREEK SMALL LETTER PHI
|
||
+03D5;phi1;GREEK PHI SYMBOL
|
||
+03C0;pi;GREEK SMALL LETTER PI
|
||
+002B;plus;PLUS SIGN
|
||
+00B1;plusminus;PLUS-MINUS SIGN
|
||
+211E;prescription;PRESCRIPTION TAKE
|
||
+220F;product;N-ARY PRODUCT
|
||
+2282;propersubset;SUBSET OF
|
||
+2283;propersuperset;SUPERSET OF
|
||
+221D;proportional;PROPORTIONAL TO
|
||
+03C8;psi;GREEK SMALL LETTER PSI
|
||
+0071;q;LATIN SMALL LETTER Q
|
||
+003F;question;QUESTION MARK
|
||
+00BF;questiondown;INVERTED QUESTION MARK
|
||
+0022;quotedbl;QUOTATION MARK
|
||
+201E;quotedblbase;DOUBLE LOW-9 QUOTATION MARK
|
||
+201C;quotedblleft;LEFT DOUBLE QUOTATION MARK
|
||
+201D;quotedblright;RIGHT DOUBLE QUOTATION MARK
|
||
+2018;quoteleft;LEFT SINGLE QUOTATION MARK
|
||
+201B;quotereversed;SINGLE HIGH-REVERSED-9 QUOTATION MARK
|
||
+2019;quoteright;RIGHT SINGLE QUOTATION MARK
|
||
+201A;quotesinglbase;SINGLE LOW-9 QUOTATION MARK
|
||
+0027;quotesingle;APOSTROPHE
|
||
+0072;r;LATIN SMALL LETTER R
|
||
+0155;racute;LATIN SMALL LETTER R WITH ACUTE
|
||
+221A;radical;SQUARE ROOT
|
||
+0159;rcaron;LATIN SMALL LETTER R WITH CARON
|
||
+0157;rcommaaccent;LATIN SMALL LETTER R WITH CEDILLA
|
||
+2286;reflexsubset;SUBSET OF OR EQUAL TO
|
||
+2287;reflexsuperset;SUPERSET OF OR EQUAL TO
|
||
+00AE;registered;REGISTERED SIGN
|
||
+2310;revlogicalnot;REVERSED NOT SIGN
|
||
+03C1;rho;GREEK SMALL LETTER RHO
|
||
+02DA;ring;RING ABOVE
|
||
+2590;rtblock;RIGHT HALF BLOCK
|
||
+0073;s;LATIN SMALL LETTER S
|
||
+015B;sacute;LATIN SMALL LETTER S WITH ACUTE
|
||
+0161;scaron;LATIN SMALL LETTER S WITH CARON
|
||
+015F;scedilla;LATIN SMALL LETTER S WITH CEDILLA
|
||
+015D;scircumflex;LATIN SMALL LETTER S WITH CIRCUMFLEX
|
||
+0219;scommaaccent;LATIN SMALL LETTER S WITH COMMA BELOW
|
||
+2033;second;DOUBLE PRIME
|
||
+00A7;section;SECTION SIGN
|
||
+003B;semicolon;SEMICOLON
|
||
+0037;seven;DIGIT SEVEN
|
||
+215E;seveneighths;VULGAR FRACTION SEVEN EIGHTHS
|
||
+2592;shade;MEDIUM SHADE
|
||
+03C3;sigma;GREEK SMALL LETTER SIGMA
|
||
+03C2;sigma1;GREEK SMALL LETTER FINAL SIGMA
|
||
+223C;similar;TILDE OPERATOR
|
||
+0036;six;DIGIT SIX
|
||
+002F;slash;SOLIDUS
|
||
+263A;smileface;WHITE SMILING FACE
|
||
+0020;space;SPACE
|
||
+2660;spade;BLACK SPADE SUIT
|
||
+00A3;sterling;POUND SIGN
|
||
+220B;suchthat;CONTAINS AS MEMBER
|
||
+2211;summation;N-ARY SUMMATION
|
||
+263C;sun;WHITE SUN WITH RAYS
|
||
+0074;t;LATIN SMALL LETTER T
|
||
+03C4;tau;GREEK SMALL LETTER TAU
|
||
+0167;tbar;LATIN SMALL LETTER T WITH STROKE
|
||
+0165;tcaron;LATIN SMALL LETTER T WITH CARON
|
||
+0163;tcommaaccent;LATIN SMALL LETTER T WITH CEDILLA
|
||
+2234;therefore;THEREFORE
|
||
+03B8;theta;GREEK SMALL LETTER THETA
|
||
+03D1;theta1;GREEK THETA SYMBOL
|
||
+00FE;thorn;LATIN SMALL LETTER THORN
|
||
+0033;three;DIGIT THREE
|
||
+215C;threeeighths;VULGAR FRACTION THREE EIGHTHS
|
||
+00BE;threequarters;VULGAR FRACTION THREE QUARTERS
|
||
+02DC;tilde;SMALL TILDE
|
||
+0303;tildecomb;COMBINING TILDE
|
||
+0384;tonos;GREEK TONOS
|
||
+2122;trademark;TRADE MARK SIGN
|
||
+25BC;triagdn;BLACK DOWN-POINTING TRIANGLE
|
||
+25C4;triaglf;BLACK LEFT-POINTING POINTER
|
||
+25BA;triagrt;BLACK RIGHT-POINTING POINTER
|
||
+25B2;triagup;BLACK UP-POINTING TRIANGLE
|
||
+0032;two;DIGIT TWO
|
||
+2025;twodotenleader;TWO DOT LEADER
|
||
+2154;twothirds;VULGAR FRACTION TWO THIRDS
|
||
+0075;u;LATIN SMALL LETTER U
|
||
+00FA;uacute;LATIN SMALL LETTER U WITH ACUTE
|
||
+016D;ubreve;LATIN SMALL LETTER U WITH BREVE
|
||
+00FB;ucircumflex;LATIN SMALL LETTER U WITH CIRCUMFLEX
|
||
+00FC;udieresis;LATIN SMALL LETTER U WITH DIAERESIS
|
||
+00F9;ugrave;LATIN SMALL LETTER U WITH GRAVE
|
||
+01B0;uhorn;LATIN SMALL LETTER U WITH HORN
|
||
+0171;uhungarumlaut;LATIN SMALL LETTER U WITH DOUBLE ACUTE
|
||
+016B;umacron;LATIN SMALL LETTER U WITH MACRON
|
||
+005F;underscore;LOW LINE
|
||
+2017;underscoredbl;DOUBLE LOW LINE
|
||
+222A;union;UNION
|
||
+2200;universal;FOR ALL
|
||
+0173;uogonek;LATIN SMALL LETTER U WITH OGONEK
|
||
+2580;upblock;UPPER HALF BLOCK
|
||
+03C5;upsilon;GREEK SMALL LETTER UPSILON
|
||
+03CB;upsilondieresis;GREEK SMALL LETTER UPSILON WITH DIALYTIKA
|
||
+03B0;upsilondieresistonos;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
|
||
+03CD;upsilontonos;GREEK SMALL LETTER UPSILON WITH TONOS
|
||
+016F;uring;LATIN SMALL LETTER U WITH RING ABOVE
|
||
+0169;utilde;LATIN SMALL LETTER U WITH TILDE
|
||
+0076;v;LATIN SMALL LETTER V
|
||
+0077;w;LATIN SMALL LETTER W
|
||
+1E83;wacute;LATIN SMALL LETTER W WITH ACUTE
|
||
+0175;wcircumflex;LATIN SMALL LETTER W WITH CIRCUMFLEX
|
||
+1E85;wdieresis;LATIN SMALL LETTER W WITH DIAERESIS
|
||
+2118;weierstrass;SCRIPT CAPITAL P
|
||
+1E81;wgrave;LATIN SMALL LETTER W WITH GRAVE
|
||
+0078;x;LATIN SMALL LETTER X
|
||
+03BE;xi;GREEK SMALL LETTER XI
|
||
+0079;y;LATIN SMALL LETTER Y
|
||
+00FD;yacute;LATIN SMALL LETTER Y WITH ACUTE
|
||
+0177;ycircumflex;LATIN SMALL LETTER Y WITH CIRCUMFLEX
|
||
+00FF;ydieresis;LATIN SMALL LETTER Y WITH DIAERESIS
|
||
+00A5;yen;YEN SIGN
|
||
+1EF3;ygrave;LATIN SMALL LETTER Y WITH GRAVE
|
||
+007A;z;LATIN SMALL LETTER Z
|
||
+017A;zacute;LATIN SMALL LETTER Z WITH ACUTE
|
||
+017E;zcaron;LATIN SMALL LETTER Z WITH CARON
|
||
+017C;zdotaccent;LATIN SMALL LETTER Z WITH DOT ABOVE
|
||
+0030;zero;DIGIT ZERO
|
||
+03B6;zeta;GREEK SMALL LETTER ZETA
|
||
Index: term/PostScript/cp1250.ps
|
||
===================================================================
|
||
--- term/PostScript/cp1250.ps.orig 2009-05-06 05:55:05.000000000 +0200
|
||
+++ term/PostScript/cp1250.ps 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -1,3 +1,6 @@
|
||
+%
|
||
+% Encoding for code page 1250 (Microsoft Windows Central and Eastern European)
|
||
+%
|
||
/reencodeCP1250 {
|
||
dup dup findfont dup length dict begin
|
||
{ 1 index /FID ne { def }{ pop pop } ifelse } forall
|
||
Index: term/PostScript/cp437.ps
|
||
===================================================================
|
||
--- term/PostScript/cp437.ps.orig 2006-08-12 00:35:05.000000000 +0200
|
||
+++ term/PostScript/cp437.ps 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -1,4 +1,5 @@
|
||
-% encoding for code page 437
|
||
+%
|
||
+% encoding for code page 437 (original MSDOS)
|
||
% version 1.0: - Mainly letters are mapped. The following positions
|
||
% (JFi) are left blank (undefined):
|
||
% -- first 32 positions,
|
||
Index: term/PostScript/cp850.ps
|
||
===================================================================
|
||
--- term/PostScript/cp850.ps.orig 2006-08-12 00:35:05.000000000 +0200
|
||
+++ term/PostScript/cp850.ps 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -1,4 +1,5 @@
|
||
-% encoding for code page 850
|
||
+%
|
||
+% encoding for code page 850 (obsolete MSDOS Western Europe)
|
||
% version 1.0: - Mainly letters are mapped. The following positions
|
||
% (JFi) are left blank (undefined):
|
||
% -- first 32 positions,
|
||
Index: term/PostScript/cp852.ps
|
||
===================================================================
|
||
--- term/PostScript/cp852.ps.orig 2006-08-12 00:22:05.000000000 +0200
|
||
+++ term/PostScript/cp852.ps 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -1,4 +1,5 @@
|
||
-% encoding for code page 852
|
||
+%
|
||
+% encoding for code page 852 (MSDOS Central European)
|
||
/reencodeCP852 {
|
||
dup dup findfont dup length dict begin
|
||
{ 1 index /FID ne { def }{ pop pop } ifelse } forall
|
||
Index: term/PostScript/koi8r.ps
|
||
===================================================================
|
||
--- term/PostScript/koi8r.ps.orig 2006-08-12 00:35:05.000000000 +0200
|
||
+++ term/PostScript/koi8r.ps 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -1,4 +1,5 @@
|
||
-% encoding for code page koi8r
|
||
+%
|
||
+% encoding for code page koi8r (8-bit Russian)
|
||
% version 1.0: - Mainly letters are mapped. The following positions
|
||
% (JFi) are left blank (undefined):
|
||
% -- first 32 positions,
|
||
Index: term/PostScript/koi8u.ps
|
||
===================================================================
|
||
--- term/PostScript/koi8u.ps.orig 2006-03-24 22:48:47.000000000 +0100
|
||
+++ term/PostScript/koi8u.ps 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -1,4 +1,5 @@
|
||
%
|
||
+% encoding for code page koi8r (8-bit Ukrainian)
|
||
/reencodeKOI8U {
|
||
dup dup findfont dup length dict begin
|
||
{ 1 index /FID ne { def }{ pop pop } ifelse } forall
|
||
Index: term/PostScript/prologue.ps
|
||
===================================================================
|
||
--- term/PostScript/prologue.ps.orig 2007-10-01 22:49:08.000000000 +0200
|
||
+++ term/PostScript/prologue.ps 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -1,5 +1,5 @@
|
||
%
|
||
-% Gnuplot Prolog Version 4.2 (August 2006)
|
||
+% Gnuplot Prolog Version 4.2 (November 2007)
|
||
%
|
||
/M {moveto} bind def
|
||
/L {lineto} bind def
|
||
@@ -9,6 +9,7 @@
|
||
/Z {closepath} bind def
|
||
/C {setrgbcolor} bind def
|
||
/f {rlineto fill} bind def
|
||
+/Gshow {show} def % May be redefined later in the file to support UTF-8
|
||
/vpt2 vpt 2 mul def
|
||
/hpt2 hpt 2 mul def
|
||
/Lshow {currentpoint stroke M 0 vshift R
|
||
Index: term/PostScript/prologues.h
|
||
===================================================================
|
||
--- term/PostScript/prologues.h.orig 2006-11-20 20:06:01.000000000 +0100
|
||
+++ term/PostScript/prologues.h 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -2,6 +2,9 @@
|
||
* in a form suitable to inclusion in a C source code */
|
||
|
||
static const char *prologue_8859_1_ps[] = {
|
||
+"%\n",
|
||
+"% Encoding for ISO-8859-1 (also called Latin1)\n",
|
||
+"%\n",
|
||
"/reencodeISO {\n",
|
||
"dup dup findfont dup length dict begin\n",
|
||
"{ 1 index /FID ne { def }{ pop pop } ifelse } forall\n",
|
||
@@ -46,6 +49,9 @@ NULL
|
||
};
|
||
|
||
static const char *prologue_8859_15_ps[] = {
|
||
+"%\n",
|
||
+"% Encoding for ISO-8859-15 (also called Latin9)\n",
|
||
+"%\n",
|
||
"/reencodeISO15 {\n",
|
||
"dup dup findfont dup length dict begin\n",
|
||
"{ 1 index /FID ne { def }{ pop pop } ifelse } forall\n",
|
||
@@ -90,7 +96,8 @@ NULL
|
||
};
|
||
|
||
static const char *prologue_8859_2_ps[] = {
|
||
-"% Encoding for ISO-8859-2 (also called as Latin-2), with\n",
|
||
+"%\n",
|
||
+"% Encoding for ISO-8859-2 (also called Latin2), with\n",
|
||
"% minor differences to \"true\" ISO-8859-2 (*commaaccent \n",
|
||
"% instead of *cedilla for sStT -> incorrect in ISO-8859-2,\n",
|
||
"% the standard will probably be modified in this respect)\n",
|
||
@@ -138,7 +145,58 @@ static const char *prologue_8859_2_ps[]
|
||
NULL
|
||
};
|
||
|
||
+static const char *prologue_8859_9_ps[] = {
|
||
+"%\n",
|
||
+"% Encoding for ISO_8859_9 (also called Latin5)\n",
|
||
+"% Plus code points 80-9F used in Codepage 1254\n",
|
||
+"%\n",
|
||
+"/reencodeISO9 {\n",
|
||
+"dup dup findfont dup length dict begin\n",
|
||
+"{ 1 index /FID ne { def }{ pop pop } ifelse } forall\n",
|
||
+"currentdict /CharStrings known {\n",
|
||
+"\tCharStrings /Idieresis known {\n",
|
||
+"\t\t/Encoding ISOLatin5Encoding def } if\n",
|
||
+"} if\n",
|
||
+"currentdict end definefont\n",
|
||
+"} def\n",
|
||
+"/ISOLatin5Encoding [\n",
|
||
+"/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
|
||
+"/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
|
||
+"/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
|
||
+"/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
|
||
+"/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright\n",
|
||
+"/parenleft/parenright/asterisk/plus/comma/minus/period/slash\n",
|
||
+"/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon\n",
|
||
+"/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N\n",
|
||
+"/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright\n",
|
||
+"/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m\n",
|
||
+"/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde\n",
|
||
+"/Euro/.notdef/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl\n",
|
||
+"/circumflex/perthousand/Scaron/guilsinglleft/OE/.notdef/.notdef/.notdef\n",
|
||
+"/.notdef/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash\n",
|
||
+"/tilde/trademark/scaron/guilsinglright/oe/.notdef/.notdef/Ydieresis\n",
|
||
+"/.notdef/space/exclamdown/cent/sterling/currency/yen/brokenbar\n",
|
||
+"/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot\n",
|
||
+"/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior\n",
|
||
+"/acute/mu/paragraph/bullet/cedilla/onesuperior/ordmasculine\n",
|
||
+"/guillemotright/onequarter/onehalf/threequarters/questiondown\n",
|
||
+"/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla\n",
|
||
+"/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex\n",
|
||
+"/Idieresis/Gbreve/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis\n",
|
||
+"/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Idotaccent\n",
|
||
+"/Scedilla/germandbls/agrave/aacute/acircumflex/atilde/adieresis\n",
|
||
+"/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave\n",
|
||
+"/iacute/icircumflex/idieresis/gbreve/ntilde/ograve/oacute/ocircumflex\n",
|
||
+"/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis\n",
|
||
+"/dotlessi/scedilla/ydieresis\n",
|
||
+"] def\n",
|
||
+NULL
|
||
+};
|
||
+
|
||
static const char *prologue_cp1250_ps[] = {
|
||
+"%\n",
|
||
+"% Encoding for code page 1250 (Microsoft Windows Central and Eastern European)\n",
|
||
+"%\n",
|
||
"/reencodeCP1250 {\n",
|
||
"dup dup findfont dup length dict begin\n",
|
||
"{ 1 index /FID ne { def }{ pop pop } ifelse } forall\n",
|
||
@@ -181,7 +239,8 @@ NULL
|
||
};
|
||
|
||
static const char *prologue_cp437_ps[] = {
|
||
-"% encoding for code page 437\n",
|
||
+"%\n",
|
||
+"% encoding for code page 437 (original MSDOS)\n",
|
||
"% version 1.0:\t- Mainly letters are mapped. The following positions\n",
|
||
"% (JFi)\t\t are left blank (undefined):\n",
|
||
"%\t\t-- first 32 positions,\n",
|
||
@@ -233,7 +292,8 @@ NULL
|
||
};
|
||
|
||
static const char *prologue_cp850_ps[] = {
|
||
-"% encoding for code page 850\n",
|
||
+"%\n",
|
||
+"% encoding for code page 850 (obsolete MSDOS Western Europe)\n",
|
||
"% version 1.0: - Mainly letters are mapped. The following positions\n",
|
||
"% (JFi)\t\t are left blank (undefined):\n",
|
||
"%\t\t-- first 32 positions,\n",
|
||
@@ -282,7 +342,8 @@ NULL
|
||
};
|
||
|
||
static const char *prologue_cp852_ps[] = {
|
||
-"% encoding for code page 852\n",
|
||
+"%\n",
|
||
+"% encoding for code page 852 (MSDOS Central European)\n",
|
||
"/reencodeCP852 {\n",
|
||
"dup dup findfont dup length dict begin\n",
|
||
"{ 1 index /FID ne { def }{ pop pop } ifelse } forall\n",
|
||
@@ -326,7 +387,8 @@ NULL
|
||
};
|
||
|
||
static const char *prologue_koi8r_ps[] = {
|
||
-"% encoding for code page koi8r\n",
|
||
+"%\n",
|
||
+"% encoding for code page koi8r (8-bit Russian)\n",
|
||
"% version 1.0:\t- Mainly letters are mapped. The following positions\n",
|
||
"% (JFi)\t\t are left blank (undefined):\n",
|
||
"%\t\t-- first 32 positions,\n",
|
||
@@ -376,6 +438,7 @@ NULL
|
||
|
||
static const char *prologue_koi8u_ps[] = {
|
||
"%\n",
|
||
+"% encoding for code page koi8r (8-bit Ukrainian)\n",
|
||
"/reencodeKOI8U {\n",
|
||
"dup dup findfont dup length dict begin\n",
|
||
"{ 1 index /FID ne { def }{ pop pop } ifelse } forall\n",
|
||
@@ -419,7 +482,7 @@ NULL
|
||
|
||
static const char *prologue_prologue_ps[] = {
|
||
"%\n",
|
||
-"% Gnuplot Prolog Version 4.2 (August 2006)\n",
|
||
+"% Gnuplot Prolog Version 4.2 (November 2007)\n",
|
||
"%\n",
|
||
"/M {moveto} bind def\n",
|
||
"/L {lineto} bind def\n",
|
||
@@ -429,6 +492,7 @@ static const char *prologue_prologue_ps[
|
||
"/Z {closepath} bind def\n",
|
||
"/C {setrgbcolor} bind def\n",
|
||
"/f {rlineto fill} bind def\n",
|
||
+"/Gshow {show} def % May be redefined later in the file to support UTF-8\n",
|
||
"/vpt2 vpt 2 mul def\n",
|
||
"/hpt2 hpt 2 mul def\n",
|
||
"/Lshow {currentpoint stroke M 0 vshift R \n",
|
||
@@ -669,7 +733,7 @@ static const char *prologue_prologue_ps[
|
||
" ColR ColG ColB setrgbcolor} def\n",
|
||
"/BoxColFill {gsave Rec PolyFill} def\n",
|
||
"/PolyFill {gsave Density fill grestore grestore} def\n",
|
||
-"/h {rlineto rlineto rlineto gsave fill grestore} bind def\n",
|
||
+"/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def\n",
|
||
"%\n",
|
||
"% PostScript Level 1 Pattern Fill routine for rectangles\n",
|
||
"% Usage: x y w h s a XX PatternFill\n",
|
||
@@ -789,3 +853,65 @@ static const char *prologue_prologue_ps[
|
||
NULL
|
||
};
|
||
|
||
+static const char *prologue_utf_8_ps[] = {
|
||
+"%\n",
|
||
+"% Base ISO8859-1 character encoding plus support macros for UTF-8 encoding\n",
|
||
+"% via the glyphshow operator\n",
|
||
+"%\n",
|
||
+"/reencodeISO {\n",
|
||
+"dup dup findfont dup length dict begin\n",
|
||
+"{ 1 index /FID ne { def }{ pop pop } ifelse } forall\n",
|
||
+"currentdict /CharStrings known {\n",
|
||
+"\tCharStrings /Idieresis known {\n",
|
||
+"\t\t/Encoding ISOLatin1Encoding def } if\n",
|
||
+"} if\n",
|
||
+"currentdict end definefont\n",
|
||
+"} def\n",
|
||
+"/ISOLatin1Encoding [\n",
|
||
+"/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
|
||
+"/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
|
||
+"/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
|
||
+"/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
|
||
+"/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright\n",
|
||
+"/parenleft/parenright/asterisk/plus/comma/minus/period/slash\n",
|
||
+"/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon\n",
|
||
+"/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N\n",
|
||
+"/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright\n",
|
||
+"/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m\n",
|
||
+"/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde\n",
|
||
+"/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
|
||
+"/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
|
||
+"/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve\n",
|
||
+"/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut\n",
|
||
+"/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar\n",
|
||
+"/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot\n",
|
||
+"/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior\n",
|
||
+"/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine\n",
|
||
+"/guillemotright/onequarter/onehalf/threequarters/questiondown\n",
|
||
+"/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla\n",
|
||
+"/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex\n",
|
||
+"/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis\n",
|
||
+"/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute\n",
|
||
+"/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis\n",
|
||
+"/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave\n",
|
||
+"/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex\n",
|
||
+"/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis\n",
|
||
+"/yacute/thorn/ydieresis\n",
|
||
+"] def\n",
|
||
+"\n",
|
||
+"/Gshow { dup type /stringtype eq { show } { glyphshow } ifelse } def\n",
|
||
+"\n",
|
||
+"/Gsall { {Gshow} forall } def\n",
|
||
+"/Gwidth {\n",
|
||
+"\tdup currentpoint pop exch\n",
|
||
+"\tgsave 6 array currentmatrix nulldevice setmatrix Gsall currentpoint pop grestore sub\n",
|
||
+"\t} def\n",
|
||
+"/GLshow {currentpoint stroke M 0 vshift R \n",
|
||
+"\tBlacktext {gsave 0 setgray Gsall grestore} {Gsall} ifelse} def\n",
|
||
+"/GRshow {currentpoint stroke M dup Gwidth vshift R\n",
|
||
+"\tBlacktext {gsave 0 setgray Gsall grestore} {Gsall} ifelse} def\n",
|
||
+"/GCshow {currentpoint stroke M dup Gwidth 2 div vshift R \n",
|
||
+"\tBlacktext {gsave 0 setgray Gsall grestore} {Gsall} ifelse} def\n",
|
||
+NULL
|
||
+};
|
||
+
|
||
Index: term/PostScript/unicode_big.map
|
||
===================================================================
|
||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||
+++ term/PostScript/unicode_big.map 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -0,0 +1,863 @@
|
||
+=00 U+0000
|
||
+=01 U+0001
|
||
+=02 U+0002
|
||
+=03 U+0003
|
||
+=04 U+0004
|
||
+=05 U+0005
|
||
+=06 U+0006
|
||
+=07 U+0007
|
||
+=08 U+0008
|
||
+=09 U+0009
|
||
+=0A U+000A
|
||
+=0B U+000B
|
||
+=0C U+000C
|
||
+=0D U+000D
|
||
+=0E U+000E
|
||
+=0F U+000F
|
||
+=10 U+0010
|
||
+=11 U+0011
|
||
+=12 U+0012
|
||
+=13 U+0013
|
||
+=14 U+0014
|
||
+=15 U+0015
|
||
+=16 U+0016
|
||
+=17 U+0017
|
||
+=18 U+0018
|
||
+=19 U+0019
|
||
+=1A U+001A
|
||
+=1B U+001B
|
||
+=1C U+001C
|
||
+=1D U+001D
|
||
+=1E U+001E
|
||
+=1F U+001F
|
||
+!20 U+0020 space
|
||
+!21 U+0021 exclam
|
||
+!22 U+0022 quotedbl
|
||
+!23 U+0023 numbersign
|
||
+!24 U+0024 dollar
|
||
+!25 U+0025 percent
|
||
+!26 U+0026 ampersand
|
||
+!27 U+0027 quotesingle
|
||
+!28 U+0028 parenleft
|
||
+!29 U+0029 parenright
|
||
+!2A U+002A asterisk
|
||
+!2B U+002B plus
|
||
+!2C U+002C comma
|
||
+!2D U+002D hyphen
|
||
+!2E U+002E period
|
||
+!2F U+002F slash
|
||
+!30 U+0030 zero
|
||
+!31 U+0031 one
|
||
+!32 U+0032 two
|
||
+!33 U+0033 three
|
||
+!34 U+0034 four
|
||
+!35 U+0035 five
|
||
+!36 U+0036 six
|
||
+!37 U+0037 seven
|
||
+!38 U+0038 eight
|
||
+!39 U+0039 nine
|
||
+!3A U+003A colon
|
||
+!3B U+003B semicolon
|
||
+!3C U+003C less
|
||
+!3D U+003D equal
|
||
+!3E U+003E greater
|
||
+!3F U+003F question
|
||
+!40 U+0040 at
|
||
+!41 U+0041 A
|
||
+!42 U+0042 B
|
||
+!43 U+0043 C
|
||
+!44 U+0044 D
|
||
+!45 U+0045 E
|
||
+!46 U+0046 F
|
||
+!47 U+0047 G
|
||
+!48 U+0048 H
|
||
+!49 U+0049 I
|
||
+!4A U+004A J
|
||
+!4B U+004B K
|
||
+!4C U+004C L
|
||
+!4D U+004D M
|
||
+!4E U+004E N
|
||
+!4F U+004F O
|
||
+!50 U+0050 P
|
||
+!51 U+0051 Q
|
||
+!52 U+0052 R
|
||
+!53 U+0053 S
|
||
+!54 U+0054 T
|
||
+!55 U+0055 U
|
||
+!56 U+0056 V
|
||
+!57 U+0057 W
|
||
+!58 U+0058 X
|
||
+!59 U+0059 Y
|
||
+!5A U+005A Z
|
||
+!5B U+005B bracketleft
|
||
+!5C U+005C backslash
|
||
+!5D U+005D bracketright
|
||
+!5E U+005E asciicircum
|
||
+!5F U+005F underscore
|
||
+!60 U+0060 grave
|
||
+!61 U+0061 a
|
||
+!62 U+0062 b
|
||
+!63 U+0063 c
|
||
+!64 U+0064 d
|
||
+!65 U+0065 e
|
||
+!66 U+0066 f
|
||
+!67 U+0067 g
|
||
+!68 U+0068 h
|
||
+!69 U+0069 i
|
||
+!6A U+006A j
|
||
+!6B U+006B k
|
||
+!6C U+006C l
|
||
+!6D U+006D m
|
||
+!6E U+006E n
|
||
+!6F U+006F o
|
||
+!70 U+0070 p
|
||
+!71 U+0071 q
|
||
+!72 U+0072 r
|
||
+!73 U+0073 s
|
||
+!74 U+0074 t
|
||
+!75 U+0075 u
|
||
+!76 U+0076 v
|
||
+!77 U+0077 w
|
||
+!78 U+0078 x
|
||
+!79 U+0079 y
|
||
+!7A U+007A z
|
||
+!7B U+007B braceleft
|
||
+!7C U+007C bar
|
||
+!7D U+007D braceright
|
||
+!7E U+007E asciitilde
|
||
+=A0 U+00A0
|
||
+!A1 U+00A1 exclamdown
|
||
+!A2 U+00A2 cent
|
||
+!A3 U+00A3 sterling
|
||
+!A4 U+00A4 currency
|
||
+!A5 U+00A5 yen
|
||
+!A6 U+00A6 brokenbar
|
||
+!A7 U+00A7 section
|
||
+!A8 U+00A8 dieresis
|
||
+!A9 U+00A9 copyright
|
||
+!AA U+00AA ordfeminine
|
||
+!AB U+00AB guillemotleft
|
||
+!AC U+00AC logicalnot
|
||
+=AD U+00AD
|
||
+!AE U+00AE registered
|
||
+!AF U+00AF macron
|
||
+!B0 U+00B0 degree
|
||
+!B1 U+00B1 plusminus
|
||
+=B2 U+00B2
|
||
+=B3 U+00B3
|
||
+!B4 U+00B4 acute
|
||
+=B5 U+00B5
|
||
+!B6 U+00B6 paragraph
|
||
+!B7 U+00B7 periodcentered
|
||
+!B8 U+00B8 cedilla
|
||
+=B9 U+00B9
|
||
+!BA U+00BA ordmasculine
|
||
+!BB U+00BB guillemotright
|
||
+!BC U+00BC onequarter
|
||
+!BD U+00BD onehalf
|
||
+!BE U+00BE threequarters
|
||
+!BF U+00BF questiondown
|
||
+!C0 U+00C0 Agrave
|
||
+!C1 U+00C1 Aacute
|
||
+!C2 U+00C2 Acircumflex
|
||
+!C3 U+00C3 Atilde
|
||
+!C4 U+00C4 Adieresis
|
||
+!C5 U+00C5 Aring
|
||
+!C6 U+00C6 AE
|
||
+!C7 U+00C7 Ccedilla
|
||
+!C8 U+00C8 Egrave
|
||
+!C9 U+00C9 Eacute
|
||
+!CA U+00CA Ecircumflex
|
||
+!CB U+00CB Edieresis
|
||
+!CC U+00CC Igrave
|
||
+!CD U+00CD Iacute
|
||
+!CE U+00CE Icircumflex
|
||
+!CF U+00CF Idieresis
|
||
+!D0 U+00D0 Eth
|
||
+!D1 U+00D1 Ntilde
|
||
+!D2 U+00D2 Ograve
|
||
+!D3 U+00D3 Oacute
|
||
+!D4 U+00D4 Ocircumflex
|
||
+!D5 U+00D5 Otilde
|
||
+!D6 U+00D6 Odieresis
|
||
+!D7 U+00D7 multiply
|
||
+!D8 U+00D8 Oslash
|
||
+!D9 U+00D9 Ugrave
|
||
+!DA U+00DA Uacute
|
||
+!DB U+00DB Ucircumflex
|
||
+!DC U+00DC Udieresis
|
||
+!DD U+00DD Yacute
|
||
+!DE U+00DE Thorn
|
||
+!DF U+00DF germandbls
|
||
+!E0 U+00E0 agrave
|
||
+!E1 U+00E1 aacute
|
||
+!E2 U+00E2 acircumflex
|
||
+!E3 U+00E3 atilde
|
||
+!E4 U+00E4 adieresis
|
||
+!E5 U+00E5 aring
|
||
+!E6 U+00E6 ae
|
||
+!E7 U+00E7 ccedilla
|
||
+!E8 U+00E8 egrave
|
||
+!E9 U+00E9 eacute
|
||
+!EA U+00EA ecircumflex
|
||
+!EB U+00EB edieresis
|
||
+!EC U+00EC igrave
|
||
+!ED U+00ED iacute
|
||
+!EE U+00EE icircumflex
|
||
+!EF U+00EF idieresis
|
||
+!F0 U+00F0 eth
|
||
+!F1 U+00F1 ntilde
|
||
+!F2 U+00F2 ograve
|
||
+!F3 U+00F3 oacute
|
||
+!F4 U+00F4 ocircumflex
|
||
+!F5 U+00F5 otilde
|
||
+!F6 U+00F6 odieresis
|
||
+!F7 U+00F7 divide
|
||
+!F8 U+00F8 oslash
|
||
+!F9 U+00F9 ugrave
|
||
+!FA U+00FA uacute
|
||
+!FB U+00FB ucircumflex
|
||
+!FC U+00FC udieresis
|
||
+!FD U+00FD yacute
|
||
+!FE U+00FE thorn
|
||
+!FF U+00FF ydieresis
|
||
+!100 U+0100 Amacron
|
||
+!101 U+0101 amacron
|
||
+!102 U+0102 Abreve
|
||
+!103 U+0103 abreve
|
||
+!104 U+0104 Aogonek
|
||
+!105 U+0105 aogonek
|
||
+!106 U+0106 Cacute
|
||
+!107 U+0107 cacute
|
||
+!108 U+0108 Ccircumflex
|
||
+!109 U+0109 ccircumflex
|
||
+!10a U+010A Cdotaccent
|
||
+!10b U+010B cdotaccent
|
||
+!10c U+010C Ccaron
|
||
+!10d U+010D ccaron
|
||
+!10e U+010E Dcaron
|
||
+!10f U+010F dcaron
|
||
+!110 U+0110 Dcroat
|
||
+!111 U+0111 dcroat
|
||
+!112 U+0112 Emacron
|
||
+!113 U+0113 emacron
|
||
+!114 U+0114 Ebreve
|
||
+!115 U+0115 ebreve
|
||
+!116 U+0116 Edotaccent
|
||
+!117 U+0117 edotaccent
|
||
+!118 U+0118 Eogonek
|
||
+!119 U+0119 eogonek
|
||
+!11a U+011A Ecaron
|
||
+!11b U+011B ecaron
|
||
+!11c U+011C Gcircumflex
|
||
+!11d U+011D gcircumflex
|
||
+!11e U+011E Gbreve
|
||
+!11f U+011F gbreve
|
||
+!120 U+0120 Gdotaccent
|
||
+!121 U+0121 gdotaccent
|
||
+!122 U+0122 Gcommaaccent
|
||
+!123 U+0123 gcommaaccent
|
||
+!124 U+0124 Hcircumflex
|
||
+!125 U+0125 hcircumflex
|
||
+!126 U+0126 Hbar
|
||
+!127 U+0127 hbar
|
||
+!128 U+0128 Itilde
|
||
+!129 U+0129 itilde
|
||
+!12a U+012A Imacron
|
||
+!12b U+012B imacron
|
||
+!12c U+012C Ibreve
|
||
+!12d U+012D ibreve
|
||
+!12e U+012E Iogonek
|
||
+!12f U+012F iogonek
|
||
+!130 U+0130 Idotaccent
|
||
+!131 U+0131 dotlessi
|
||
+!132 U+0132 IJ
|
||
+!133 U+0133 ij
|
||
+!134 U+0134 Jcircumflex
|
||
+!135 U+0135 jcircumflex
|
||
+!136 U+0136 Kcommaaccent
|
||
+!137 U+0137 kcommaaccent
|
||
+!138 U+0138 kgreenlandic
|
||
+!139 U+0139 Lacute
|
||
+!13a U+013A lacute
|
||
+!13b U+013B Lcommaaccent
|
||
+!13c U+013C lcommaaccent
|
||
+!13d U+013D Lcaron
|
||
+!13e U+013E lcaron
|
||
+!13f U+013F Ldot
|
||
+!140 U+0140 ldot
|
||
+!141 U+0141 Lslash
|
||
+!142 U+0142 lslash
|
||
+!143 U+0143 Nacute
|
||
+!144 U+0144 nacute
|
||
+!145 U+0145 Ncommaaccent
|
||
+!146 U+0146 ncommaaccent
|
||
+!147 U+0147 Ncaron
|
||
+!148 U+0148 ncaron
|
||
+!149 U+0149 napostrophe
|
||
+!14a U+014A Eng
|
||
+!14b U+014B eng
|
||
+!14c U+014C Omacron
|
||
+!14d U+014D omacron
|
||
+!14e U+014E Obreve
|
||
+!14f U+014F obreve
|
||
+!150 U+0150 Ohungarumlaut
|
||
+!151 U+0151 ohungarumlaut
|
||
+!152 U+0152 OE
|
||
+!153 U+0153 oe
|
||
+!154 U+0154 Racute
|
||
+!155 U+0155 racute
|
||
+!156 U+0156 Rcommaaccent
|
||
+!157 U+0157 rcommaaccent
|
||
+!158 U+0158 Rcaron
|
||
+!159 U+0159 rcaron
|
||
+!15a U+015A Sacute
|
||
+!15b U+015B sacute
|
||
+!15c U+015C Scircumflex
|
||
+!15d U+015D scircumflex
|
||
+!15e U+015E Scedilla
|
||
+!15f U+015F scedilla
|
||
+!160 U+0160 Scaron
|
||
+!161 U+0161 scaron
|
||
+!162 U+0162 Tcommaaccent
|
||
+!163 U+0163 tcommaaccent
|
||
+!164 U+0164 Tcaron
|
||
+!165 U+0165 tcaron
|
||
+!166 U+0166 Tbar
|
||
+!167 U+0167 tbar
|
||
+!168 U+0168 Utilde
|
||
+!169 U+0169 utilde
|
||
+!16a U+016A Umacron
|
||
+!16b U+016B umacron
|
||
+!16c U+016C Ubreve
|
||
+!16d U+016D ubreve
|
||
+!16e U+016E Uring
|
||
+!16f U+016F uring
|
||
+!170 U+0170 Uhungarumlaut
|
||
+!171 U+0171 uhungarumlaut
|
||
+!172 U+0172 Uogonek
|
||
+!173 U+0173 uogonek
|
||
+!174 U+0174 Wcircumflex
|
||
+!175 U+0175 wcircumflex
|
||
+!176 U+0176 Ycircumflex
|
||
+!177 U+0177 ycircumflex
|
||
+!178 U+0178 Ydieresis
|
||
+!179 U+0179 Zacute
|
||
+!17a U+017A zacute
|
||
+!17b U+017B Zdotaccent
|
||
+!17c U+017C zdotaccent
|
||
+!17d U+017D Zcaron
|
||
+!17e U+017E zcaron
|
||
+!17f U+017F longs
|
||
+!180 U+0192 florin
|
||
+!181 U+01A0 Ohorn
|
||
+!182 U+01A1 ohorn
|
||
+!183 U+01AF Uhorn
|
||
+!184 U+01B0 uhorn
|
||
+!185 U+01E6 Gcaron
|
||
+!186 U+01E7 gcaron
|
||
+!187 U+01FA Aringacute
|
||
+!188 U+01FB aringacute
|
||
+!189 U+01FC AEacute
|
||
+!18a U+01FD aeacute
|
||
+!18b U+01FE Oslashacute
|
||
+!18c U+01FF oslashacute
|
||
+!18d U+0218 uni0218
|
||
+!18e U+0219 uni0219
|
||
+!18f U+02BC uni02BC
|
||
+!190 U+02BD uni02BD
|
||
+!191 U+02C6 uni02C6
|
||
+!192 U+02C7 uni02C7
|
||
+!193 U+02D8 uni02D8
|
||
+!194 U+02D9 uni02D9
|
||
+!195 U+02DA uni02DA
|
||
+!196 U+02DB uni02DB
|
||
+!197 U+02DC uni02DC
|
||
+!198 U+02DD uni02DD
|
||
+!199 U+0300 uni0300
|
||
+!19a U+0301 uni0301
|
||
+!19b U+0303 uni0303
|
||
+!19c U+0309 uni0309
|
||
+!19d U+0323 uni0323
|
||
+!19e U+0391 uni0391
|
||
+!19f U+0392 uni0392
|
||
+!1a0 U+0393 uni0393
|
||
+!1a1 U+0394 uni0394
|
||
+!1a2 U+0395 uni0395
|
||
+!1a3 U+0396 uni0396
|
||
+!1a4 U+0397 uni0397
|
||
+!1a5 U+0398 uni0398
|
||
+!1a6 U+0399 uni0399
|
||
+!1a7 U+039A uni039A
|
||
+!1a8 U+039B uni039B
|
||
+!1a9 U+039C uni039C
|
||
+!1aa U+039D uni039D
|
||
+!1ab U+039E uni039E
|
||
+!1ac U+039F uni039F
|
||
+!1ad U+03A0 uni03A0
|
||
+!1ae U+03A1 uni03A1
|
||
+!1af U+03A3 uni03A3
|
||
+!1b0 U+03A4 uni03A4
|
||
+!1b1 U+03A5 uni03A5
|
||
+!1b2 U+03A6 uni03A6
|
||
+!1b3 U+03A7 uni03A7
|
||
+!1b4 U+03A8 uni03A8
|
||
+!1b5 U+03A9 uni03A9
|
||
+!1b6 U+03B1 uni03B1
|
||
+!1b7 U+03B2 uni03B2
|
||
+!1b8 U+03B3 uni03B3
|
||
+!1b9 U+03B4 uni03B4
|
||
+!1ba U+03B5 uni03B5
|
||
+!1bb U+03B6 uni03B6
|
||
+!1bc U+03B7 uni03B7
|
||
+!1bd U+03B8 uni03B8
|
||
+!1be U+03B9 uni03B9
|
||
+!1bf U+03BA uni03BA
|
||
+!1c0 U+03BB uni03BB
|
||
+!1c1 U+03BC uni03BC
|
||
+!1c2 U+03BD uni03BD
|
||
+!1c3 U+03BE uni03BE
|
||
+!1c4 U+03BF uni03BF
|
||
+!1c5 U+03C0 uni03C0
|
||
+!1c6 U+03C1 uni03C1
|
||
+!1c7 U+03C2 uni03C2
|
||
+!1c8 U+03C3 uni03C3
|
||
+!1c9 U+03C4 uni03C4
|
||
+!1ca U+03C5 uni03C5
|
||
+!1cb U+03C6 uni03C6
|
||
+!1cc U+03C7 uni03C7
|
||
+!1cd U+03C8 uni03C8
|
||
+!1ce U+03C9 uni03C9
|
||
+!1cf U+03D0 uni03D0
|
||
+!1d0 U+03D1 uni03D1
|
||
+!1d1 U+03D5 uni03D5
|
||
+!1d2 U+03D6 uni03D6
|
||
+!1d3 U+0401 uni0401
|
||
+!1d4 U+0402 uni0402
|
||
+!1d5 U+0403 uni0403
|
||
+!1d6 U+0404 uni0404
|
||
+!1d7 U+0405 uni0405
|
||
+!1d8 U+0406 uni0406
|
||
+!1d9 U+0407 uni0407
|
||
+!1da U+0408 uni0408
|
||
+!1db U+0409 uni0409
|
||
+!1dc U+040A uni040A
|
||
+!1dd U+040B uni040B
|
||
+!1de U+040C uni040C
|
||
+!1df U+040E uni040E
|
||
+!1e0 U+040F uni040F
|
||
+!1e1 U+0410 uni0410
|
||
+!1e2 U+0411 uni0411
|
||
+!1e3 U+0412 uni0412
|
||
+!1e4 U+0413 uni0413
|
||
+!1e5 U+0414 uni0414
|
||
+!1e6 U+0415 uni0415
|
||
+!1e7 U+0416 uni0416
|
||
+!1e8 U+0417 uni0417
|
||
+!1e9 U+0418 uni0418
|
||
+!1ea U+0419 uni0419
|
||
+!1eb U+041A uni041A
|
||
+!1ec U+041B uni041B
|
||
+!1ed U+041C uni041C
|
||
+!1ee U+041D uni041D
|
||
+!1ef U+041E uni041E
|
||
+!1f0 U+041F uni041F
|
||
+!1f1 U+0420 uni0420
|
||
+!1f2 U+0421 uni0421
|
||
+!1f3 U+0422 uni0422
|
||
+!1f4 U+0423 uni0423
|
||
+!1f5 U+0424 uni0424
|
||
+!1f6 U+0425 uni0425
|
||
+!1f7 U+0426 uni0426
|
||
+!1f8 U+0427 uni0427
|
||
+!1f9 U+0428 uni0428
|
||
+!1fa U+0429 uni0429
|
||
+!1fb U+042A uni042A
|
||
+!1fc U+042B uni042B
|
||
+!1fd U+042C uni042C
|
||
+!1fe U+042D uni042D
|
||
+!1ff U+042E uni042E
|
||
+!200 U+042F uni042F
|
||
+!201 U+0430 uni0430
|
||
+!202 U+0431 uni0431
|
||
+!203 U+0432 uni0432
|
||
+!204 U+0433 uni0433
|
||
+!205 U+0434 uni0434
|
||
+!206 U+0435 uni0435
|
||
+!207 U+0436 uni0436
|
||
+!208 U+0437 uni0437
|
||
+!209 U+0438 uni0438
|
||
+!20a U+0439 uni0439
|
||
+!20b U+043A uni043A
|
||
+!20c U+043B uni043B
|
||
+!20d U+043C uni043C
|
||
+!20e U+043D uni043D
|
||
+!20f U+043E uni043E
|
||
+!210 U+043F uni043F
|
||
+!211 U+0440 uni0440
|
||
+!212 U+0441 uni0441
|
||
+!213 U+0442 uni0442
|
||
+!214 U+0443 uni0443
|
||
+!215 U+0444 uni0444
|
||
+!216 U+0445 uni0445
|
||
+!217 U+0446 uni0446
|
||
+!218 U+0447 uni0447
|
||
+!219 U+0448 uni0448
|
||
+!21a U+0449 uni0449
|
||
+!21b U+044A uni044A
|
||
+!21c U+044B uni044B
|
||
+!21d U+044C uni044C
|
||
+!21e U+044D uni044D
|
||
+!21f U+044E uni044E
|
||
+!220 U+044F uni044F
|
||
+!221 U+0451 uni0451
|
||
+!222 U+0452 uni0452
|
||
+!223 U+0453 uni0453
|
||
+!224 U+0454 uni0454
|
||
+!225 U+0455 uni0455
|
||
+!226 U+0456 uni0456
|
||
+!227 U+0457 uni0457
|
||
+!228 U+0458 uni0458
|
||
+!229 U+0459 uni0459
|
||
+!22a U+045A uni045A
|
||
+!22b U+045B uni045B
|
||
+!22c U+045C uni045C
|
||
+!22d U+045E uni045E
|
||
+!22e U+045F uni045F
|
||
+!22f U+0490 uni0490
|
||
+!230 U+0491 uni0491
|
||
+!231 U+05D0 uni05D0
|
||
+!232 U+05D1 uni05D1
|
||
+!233 U+05D2 uni05D2
|
||
+!234 U+05D3 uni05D3
|
||
+!235 U+05D4 uni05D4
|
||
+!236 U+05D5 uni05D5
|
||
+!237 U+05D6 uni05D6
|
||
+!238 U+05D7 uni05D7
|
||
+!239 U+05D8 uni05D8
|
||
+!23a U+05D9 uni05D9
|
||
+!23b U+05DA uni05DA
|
||
+!23c U+05DB uni05DB
|
||
+!23d U+05DC uni05DC
|
||
+!23e U+05DD uni05DD
|
||
+!23f U+05DE uni05DE
|
||
+!240 U+05DF uni05DF
|
||
+!241 U+05E0 uni05E0
|
||
+!242 U+05E1 uni05E1
|
||
+!243 U+05E2 uni05E2
|
||
+!244 U+05E3 uni05E3
|
||
+!245 U+05E4 uni05E4
|
||
+!246 U+05E5 uni05E5
|
||
+!247 U+05E6 uni05E6
|
||
+!248 U+05E7 uni05E7
|
||
+!249 U+05E8 uni05E8
|
||
+!24a U+05E9 uni05E9
|
||
+!24b U+05EA uni05EA
|
||
+!24c U+1E80 uni1E80 Extended latin
|
||
+!24d U+1E81 uni1E81 Extended latin
|
||
+!24e U+1E82 uni1E82 Extended latin
|
||
+!24f U+1E83 uni1E83 Extended latin
|
||
+!250 U+1E84 uni1E84 Extended latin
|
||
+!251 U+1E85 uni1E85 Extended latin
|
||
+!252 U+1EF2 uni1EF2 Extended latin
|
||
+!253 U+1EF3 uni1EF3 Extended latin
|
||
+!254 U+200C uni200C
|
||
+!255 U+200D uni200D
|
||
+!256 U+200E uni200E
|
||
+!257 U+200F uni200F
|
||
+!258 U+2012 uni2012
|
||
+!259 U+2013 uni2013
|
||
+!25a U+2014 uni2014
|
||
+!25b U+2015 uni2015
|
||
+!25c U+2017 uni2017
|
||
+!25d U+2018 uni2018
|
||
+!25e U+2019 uni2019
|
||
+!25f U+201A uni201A
|
||
+!260 U+201B uni201B
|
||
+!261 U+201C uni201C
|
||
+!262 U+201D uni201D
|
||
+!263 U+201E uni201E
|
||
+!264 U+2020 uni2020
|
||
+!265 U+2021 uni2021
|
||
+!266 U+2022 uni2022
|
||
+!267 U+2024 uni2024
|
||
+!268 U+2025 uni2025
|
||
+!269 U+2026 uni2026
|
||
+!26a U+202C uni202C
|
||
+!26b U+202D uni202D
|
||
+!26c U+202E uni202E
|
||
+!26d U+2032 uni2032
|
||
+!26e U+2033 uni2033
|
||
+!26f U+2034 uni2034
|
||
+!270 U+2035 uni2035
|
||
+!271 U+2036 uni2036
|
||
+!272 U+2037 uni2037
|
||
+!273 U+2039 uni2039
|
||
+!274 U+203A uni203A
|
||
+!275 U+203C uni203C
|
||
+!276 U+2044 uni2044
|
||
+!277 U+20AC uni20AC
|
||
+!278 U+2107 uni2107
|
||
+!279 U+210B uni210B
|
||
+!27a U+210E uni210E
|
||
+!27b U+210F uni210F
|
||
+!27c U+2111 uni2111
|
||
+!27d U+2112 uni2112
|
||
+!27e U+2113 uni2113
|
||
+!27f U+2115 uni2115
|
||
+!280 U+2116 uni2116
|
||
+!281 U+2118 uni2118
|
||
+!282 U+2119 uni2119
|
||
+!283 U+211A uni211A
|
||
+!284 U+211B uni211B
|
||
+!285 U+211C uni211C
|
||
+!286 U+211D uni211D
|
||
+!287 U+2122 uni2122
|
||
+!288 U+2124 uni2124
|
||
+!289 U+2126 uni2126
|
||
+!28a U+2127 uni2127
|
||
+!28b U+2128 uni2128
|
||
+!28c U+2129 uni2129
|
||
+!28d U+212B uni212B
|
||
+!28e U+212C uni212C
|
||
+!28f U+212E uni212E
|
||
+!290 U+212F uni212F
|
||
+!291 U+2130 uni2130
|
||
+!292 U+2131 uni2131
|
||
+!293 U+2133 uni2133
|
||
+!294 U+2134 uni2134
|
||
+!295 U+2135 uni2135
|
||
+!296 U+2136 uni2136
|
||
+!297 U+2137 uni2137
|
||
+!298 U+2138 uni2138
|
||
+!299 U+2190 uni2190
|
||
+!29a U+2191 uni2191
|
||
+!29b U+2192 uni2192
|
||
+!29c U+2193 uni2193
|
||
+!29d U+2194 uni2194
|
||
+!29e U+2195 uni2195
|
||
+!2a1 U+21D0 uni21D0
|
||
+!2a2 U+21D1 uni21D1
|
||
+!2a3 U+21D2 uni21D2
|
||
+!2a4 U+21D3 uni21D3
|
||
+!2a5 U+21D4 uni21D4
|
||
+!2a6 U+2200 uni2200
|
||
+!2a7 U+2202 uni2202
|
||
+!2a8 U+2203 uni2203
|
||
+!2a9 U+2204 uni2204
|
||
+!2aa U+2205 uni2205
|
||
+!2ab U+2206 uni2206
|
||
+!2ac U+2207 uni2207
|
||
+!2ad U+2208 uni2208
|
||
+!2ae U+2209 uni2209
|
||
+!2af U+220A uni220A
|
||
+!2b0 U+220B uni220B
|
||
+!2b1 U+220C uni220C
|
||
+!2b2 U+220D uni220D
|
||
+!2b3 U+220E uni220E
|
||
+!2b4 U+220F uni220F
|
||
+!2b5 U+2210 uni2210
|
||
+!2b6 U+2211 uni2211
|
||
+!2b7 U+2212 uni2212
|
||
+!2b8 U+2213 uni2213
|
||
+!2b9 U+2214 uni2214
|
||
+!2ba U+2215 uni2215
|
||
+!2bb U+2216 uni2216
|
||
+!2bc U+2217 uni2217
|
||
+!2bd U+2218 uni2218
|
||
+!2be U+2219 uni2219
|
||
+!2bf U+221A uni221A
|
||
+!2c0 U+221B uni221B
|
||
+!2c1 U+221C uni221C
|
||
+!2c2 U+221D uni221D
|
||
+!2c3 U+221E uni221E
|
||
+!2c4 U+221F uni221F
|
||
+!2c5 U+2220 uni2220
|
||
+!2c6 U+2221 uni2221
|
||
+!2c7 U+2222 uni2222
|
||
+!2c8 U+2223 uni2223
|
||
+!2c9 U+2224 uni2224
|
||
+!2ca U+2225 uni2225
|
||
+!2cb U+2226 uni2226
|
||
+!2cc U+2227 uni2227
|
||
+!2cd U+2228 uni2228
|
||
+!2ce U+2229 uni2229
|
||
+!2cf U+222A uni222A
|
||
+!2d0 U+222B uni222B
|
||
+!2d1 U+222C uni222C
|
||
+!2d2 U+222D uni222D
|
||
+!2d3 U+222E uni222E
|
||
+!2d4 U+222F uni222F
|
||
+!2d5 U+2230 uni2230
|
||
+!2d6 U+2231 uni2231
|
||
+!2d7 U+2232 uni2232
|
||
+!2d8 U+2233 uni2233
|
||
+!2d9 U+2234 uni2234
|
||
+!2da U+2235 uni2235
|
||
+!2db U+2236 uni2236
|
||
+!2dc U+2237 uni2237
|
||
+!2dd U+2238 uni2238
|
||
+!2de U+2239 uni2239
|
||
+!2df U+223A uni223A
|
||
+!2e0 U+223B uni223B
|
||
+!2e1 U+223C uni223C
|
||
+!2e2 U+223D uni223D
|
||
+!2e3 U+223E uni223E
|
||
+!2e4 U+223F uni223F
|
||
+!2e5 U+2240 uni2240
|
||
+!2e6 U+2241 uni2241
|
||
+!2e7 U+2242 uni2242
|
||
+!2e8 U+2243 uni2243
|
||
+!2e9 U+2244 uni2244
|
||
+!2ea U+2245 uni2245
|
||
+!2eb U+2246 uni2246
|
||
+!2ec U+2247 uni2247
|
||
+!2ed U+2248 uni2248
|
||
+!2ee U+2249 uni2249
|
||
+!2ef U+224A uni224A
|
||
+!2f0 U+224B uni224B
|
||
+!2f1 U+224C uni224C
|
||
+!2f2 U+224D uni224D
|
||
+!2f3 U+224E uni224E
|
||
+!2f4 U+224F uni224F
|
||
+!2f5 U+225F uni225F
|
||
+!2f6 U+2260 uni2260
|
||
+!2f7 U+2261 uni2261
|
||
+!2f8 U+2262 uni2262
|
||
+!2f9 U+2263 uni2263
|
||
+!2fa U+2264 uni2264
|
||
+!2fb U+2265 uni2265
|
||
+!2fc U+2266 uni2266
|
||
+!2fd U+2267 uni2267
|
||
+!2fe U+2268 uni2268
|
||
+!2ff U+2269 uni2269
|
||
+!300 U+226A uni226A
|
||
+!301 U+226B uni226B
|
||
+!302 U+226C uni226C
|
||
+!303 U+226D uni226D
|
||
+!304 U+226E uni226E
|
||
+!305 U+226F uni226F
|
||
+!306 U+2270 uni2270
|
||
+!307 U+2271 uni2271
|
||
+!308 U+2272 uni2272
|
||
+!309 U+2273 uni2273
|
||
+!30a U+2274 uni2274
|
||
+!30b U+2275 uni2275
|
||
+!30c U+2276 uni2276
|
||
+!30d U+2277 uni2277
|
||
+!30e U+2278 uni2278
|
||
+!30f U+2279 uni2279
|
||
+!310 U+227A uni227A
|
||
+!311 U+227B uni227B
|
||
+!312 U+227C uni227C
|
||
+!313 U+227D uni227D
|
||
+!314 U+227E uni227E
|
||
+!315 U+227F uni227F
|
||
+!316 U+2280 uni2280
|
||
+!317 U+2281 uni2281
|
||
+!318 U+2282 uni2282
|
||
+!319 U+2283 uni2283
|
||
+!31a U+2284 uni2284
|
||
+!31b U+2285 uni2285
|
||
+!31c U+2286 uni2286
|
||
+!31d U+2287 uni2287
|
||
+!31e U+2288 uni2288
|
||
+!31f U+2289 uni2289
|
||
+!320 U+22C0 uni22C0
|
||
+!321 U+22C1 uni22C1
|
||
+!322 U+22C2 uni22C2
|
||
+!323 U+22C3 uni22C3
|
||
+!324 U+22C4 uni22C4
|
||
+!325 U+22C5 uni22C5
|
||
+!326 U+2302 uni2302
|
||
+!327 U+2310 uni2310
|
||
+!328 U+2320 uni2320
|
||
+!329 U+2321 uni2321
|
||
+!32a U+2322 uni2322
|
||
+!32b U+2323 uni2323
|
||
+!32c U+2329 uni2329
|
||
+!32d U+232A uni232A
|
||
+!32e U+239B uni239B
|
||
+!32f U+239C uni239C
|
||
+!330 U+239D uni239D
|
||
+!331 U+239E uni239E
|
||
+!332 U+239F uni239F
|
||
+!333 U+23A0 uni23A0
|
||
+!334 U+23A1 uni23A1
|
||
+!335 U+23A2 uni2392
|
||
+!336 U+23A3 uni23A3
|
||
+!337 U+23A4 uni23A4
|
||
+!338 U+23A5 uni23A5
|
||
+!339 U+23A6 uni23A6
|
||
+!33a U+23A7 uni23A7
|
||
+!33b U+23A8 uni23A8
|
||
+!33c U+23A9 uni23A9
|
||
+!33d U+23AA uni23AA
|
||
+!33e U+23AB uni23AB
|
||
+!33f U+23AC uni23AC
|
||
+!340 U+23AD uni23AD
|
||
+!341 U+23AE uni23AE
|
||
+!342 U+23AF uni23AF
|
||
+!343 U+23B0 uni23B0
|
||
+!344 U+23B1 uni23B1
|
||
+!345 U+23B2 uni23B2
|
||
+!346 U+23B3 uni23B3
|
||
+!347 U+23B4 uni23B4
|
||
+!348 U+23B5 uni23B5
|
||
+!349 U+23B6 uni23B6
|
||
+!34a U+23B7 uni23B7
|
||
+!34b U+23B8 uni23B8
|
||
+!34c U+23B9 uni23B9
|
||
+!34d U+23BA uni23BA
|
||
+!34e U+23BB uni23BB
|
||
+!34f U+23BC uni23BC
|
||
+!350 U+23BD uni23BD
|
||
+!351 U+23BE uni23BE
|
||
+!352 U+23BF uni23BF
|
||
+!353 U+23DE uni23DE
|
||
+!354 U+23DF uni23DF
|
||
+!355 U+23E1 uni23E1
|
||
+!356 U+25A0 uni25A0
|
||
+!357 U+25A1 uni25A1
|
||
+!358 U+25AA uni25AA
|
||
+!359 U+25AB uni25AB
|
||
+!35b U+25B2 uni25B2
|
||
+!35c U+25B3 uni25B3
|
||
+!35d U+25BC uni25BC
|
||
+!35e U+25BD uni25BD
|
||
+!35a U+25C6 uni25C6
|
||
+!35f U+25CA uni25CA
|
||
+!360 U+25CB uni25CB
|
||
+!361 U+25CF uni25CF
|
||
+!364 U+25E6 uni25E6
|
||
+!362 U+25FB uni25FB
|
||
+!363 U+25FC uni25FC
|
||
+!365 U+2609 uni2609
|
||
+!366 U+2639 uni2639
|
||
+!367 U+263C uni263C
|
||
+!368 U+263D uni263D
|
||
+!369 U+263E uni263E
|
||
+!36a U+263F uni263F
|
||
+!36b U+2640 uni2640
|
||
+!36c U+2641 uni2641
|
||
+!36d U+2642 uni2642
|
||
+!36e U+2643 uni2643
|
||
+!36f U+2644 uni2644
|
||
+!370 U+2645 uni2645
|
||
+!371 U+2646 uni2646
|
||
+!372 U+2647 uni2647
|
||
+!373 U+2648 uni2648
|
||
+!374 U+2649 uni2649
|
||
+!375 U+264A uni264A
|
||
+!376 U+264B uni264B
|
||
+!377 U+264C uni264C
|
||
+!378 U+264D uni264D
|
||
+!379 U+264E uni264E
|
||
+!37a U+264F uni264F
|
||
+!37b U+2650 uni2650
|
||
+!37c U+2651 uni2651
|
||
+!37d U+2652 uni2652
|
||
+!37e U+2653 uni2653
|
||
+!37f U+25C7 uni25C7
|
||
+!380 U+2297 uni2297
|
||
+!381 U+2299 uni2299
|
||
Index: term/PostScript/unicode_maps.README
|
||
===================================================================
|
||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||
+++ term/PostScript/unicode_maps.README 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -0,0 +1,75 @@
|
||
+ unicode maps README
|
||
+ ===================
|
||
+
|
||
+Each unicode_XXX.map file contains a list of unicode code points that might
|
||
+plausibly be used from inside gnuplot. These are only relevant to the
|
||
+PostScript terminal drivers, and only if you want to use UTF-8 encoding.
|
||
+
|
||
+If you have a TTF unicode font containing the relevant characters, you can
|
||
+use the unicode map file to instruct the external program ttf2pt1 to prepare
|
||
+an Adobe Type 1 font.
|
||
+
|
||
+For example:
|
||
+
|
||
+ ttf2pt1 -p ft -e -L unicode_big.map arialuni.ttf
|
||
+
|
||
+This will extract character glyphs for these particular code points
|
||
+from arialuni.ttf and create a new file arialuni.ps. You can use this new
|
||
+*.pfa font file from gnuplot by saying
|
||
+
|
||
+ set encoding utf8
|
||
+ set term post fontfile 'arialuni.ps' font 'ArialUnicodeMS'
|
||
+
|
||
+Note that gnuplot can run ttf2pt1 for you on the fly if you
|
||
+first define the appropriate command in the environmental variable
|
||
+GNUPLOT_TTFTOPFA. For example:
|
||
+
|
||
+ setenv GNUPLOT_TTFTOPFA "ttf2pt1 -e -p ft -L unimap.map %s -"
|
||
+
|
||
+In this case you could say
|
||
+
|
||
+ set encoding utf8
|
||
+ set term post fontfile 'arialuni.ttf' font 'ArialUnicodeMS'
|
||
+
|
||
+In either case, the converted glyphs will be embedded in your
|
||
+gnuplot output file. There are several caveats:
|
||
+
|
||
+1) This can make the file quite large.
|
||
+
|
||
+2) If a glyph isn't in the starting *.ttf font to begin with, nothing
|
||
+ you do here will fix that.
|
||
+
|
||
+3) If gnuplot runs the conversion for you, it will be triggered each
|
||
+ time you plot.
|
||
+
|
||
+Several unicode map files are provided. They differ in how many
|
||
+characters they request, and hence in the size of the resulting font file.
|
||
+
|
||
+ unicode_small.map (462 characters)
|
||
+ ===================================
|
||
+
|
||
+- the Latin1 character set
|
||
+- the basic Greek alphabet
|
||
+- basic math and physical symbols
|
||
+- 133 less obscure math symbols from Unicode pages 34 and 35
|
||
+
|
||
+
|
||
+ unicode_big.map (863 characters)
|
||
+ =================================
|
||
+
|
||
+- the Latin1 character set
|
||
+- extended Latin character sets needed to support other European languages
|
||
+- the Cyrillic alphabet, with extensions for various slavic languages
|
||
+ (may not be complete - please report omissions)
|
||
+- the basic Greek and Hebrew alphabets
|
||
+- basic math symbols
|
||
+- 176 mathematical symbols, some obscure, from Unicode pages 34 and 35
|
||
+- physical and astronomical symbols
|
||
+
|
||
+The unicode_big map makes a total of about 860 glyphs available to use
|
||
+from gnuplot, but only if they exist in the original TTF font file.
|
||
+The maximum number that ttf2pt1 can process is 1024.
|
||
+This is only a tiny fraction of the total characters indexed by Unicode.
|
||
+But if you need more, probably you would do better to use a different
|
||
+gnuplot terminal that supports direct use of UTF-8 TTF fonts (pdf, png, svg).
|
||
+
|
||
Index: term/PostScript/unicode_small.map
|
||
===================================================================
|
||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||
+++ term/PostScript/unicode_small.map 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -0,0 +1,462 @@
|
||
+=00 U+0000
|
||
+=01 U+0001
|
||
+=02 U+0002
|
||
+=03 U+0003
|
||
+=04 U+0004
|
||
+=05 U+0005
|
||
+=06 U+0006
|
||
+=07 U+0007
|
||
+=08 U+0008
|
||
+=09 U+0009
|
||
+=0A U+000A
|
||
+=0B U+000B
|
||
+=0C U+000C
|
||
+=0D U+000D
|
||
+=0E U+000E
|
||
+=0F U+000F
|
||
+=10 U+0010
|
||
+=11 U+0011
|
||
+=12 U+0012
|
||
+=13 U+0013
|
||
+=14 U+0014
|
||
+=15 U+0015
|
||
+=16 U+0016
|
||
+=17 U+0017
|
||
+=18 U+0018
|
||
+=19 U+0019
|
||
+=1A U+001A
|
||
+=1B U+001B
|
||
+=1C U+001C
|
||
+=1D U+001D
|
||
+=1E U+001E
|
||
+=1F U+001F
|
||
+!20 U+0020 space
|
||
+!21 U+0021 exclam
|
||
+!22 U+0022 quotedbl
|
||
+!23 U+0023 numbersign
|
||
+!24 U+0024 dollar
|
||
+!25 U+0025 percent
|
||
+!26 U+0026 ampersand
|
||
+!27 U+0027 quotesingle
|
||
+!28 U+0028 parenleft
|
||
+!29 U+0029 parenright
|
||
+!2A U+002A asterisk
|
||
+!2B U+002B plus
|
||
+!2C U+002C comma
|
||
+!2D U+002D hyphen
|
||
+!2E U+002E period
|
||
+!2F U+002F slash
|
||
+!30 U+0030 zero
|
||
+!31 U+0031 one
|
||
+!32 U+0032 two
|
||
+!33 U+0033 three
|
||
+!34 U+0034 four
|
||
+!35 U+0035 five
|
||
+!36 U+0036 six
|
||
+!37 U+0037 seven
|
||
+!38 U+0038 eight
|
||
+!39 U+0039 nine
|
||
+!3A U+003A colon
|
||
+!3B U+003B semicolon
|
||
+!3C U+003C less
|
||
+!3D U+003D equal
|
||
+!3E U+003E greater
|
||
+!3F U+003F question
|
||
+!40 U+0040 at
|
||
+!41 U+0041 A
|
||
+!42 U+0042 B
|
||
+!43 U+0043 C
|
||
+!44 U+0044 D
|
||
+!45 U+0045 E
|
||
+!46 U+0046 F
|
||
+!47 U+0047 G
|
||
+!48 U+0048 H
|
||
+!49 U+0049 I
|
||
+!4A U+004A J
|
||
+!4B U+004B K
|
||
+!4C U+004C L
|
||
+!4D U+004D M
|
||
+!4E U+004E N
|
||
+!4F U+004F O
|
||
+!50 U+0050 P
|
||
+!51 U+0051 Q
|
||
+!52 U+0052 R
|
||
+!53 U+0053 S
|
||
+!54 U+0054 T
|
||
+!55 U+0055 U
|
||
+!56 U+0056 V
|
||
+!57 U+0057 W
|
||
+!58 U+0058 X
|
||
+!59 U+0059 Y
|
||
+!5A U+005A Z
|
||
+!5B U+005B bracketleft
|
||
+!5C U+005C backslash
|
||
+!5D U+005D bracketright
|
||
+!5E U+005E asciicircum
|
||
+!5F U+005F underscore
|
||
+!60 U+0060 grave
|
||
+!61 U+0061 a
|
||
+!62 U+0062 b
|
||
+!63 U+0063 c
|
||
+!64 U+0064 d
|
||
+!65 U+0065 e
|
||
+!66 U+0066 f
|
||
+!67 U+0067 g
|
||
+!68 U+0068 h
|
||
+!69 U+0069 i
|
||
+!6A U+006A j
|
||
+!6B U+006B k
|
||
+!6C U+006C l
|
||
+!6D U+006D m
|
||
+!6E U+006E n
|
||
+!6F U+006F o
|
||
+!70 U+0070 p
|
||
+!71 U+0071 q
|
||
+!72 U+0072 r
|
||
+!73 U+0073 s
|
||
+!74 U+0074 t
|
||
+!75 U+0075 u
|
||
+!76 U+0076 v
|
||
+!77 U+0077 w
|
||
+!78 U+0078 x
|
||
+!79 U+0079 y
|
||
+!7A U+007A z
|
||
+!7B U+007B braceleft
|
||
+!7C U+007C bar
|
||
+!7D U+007D braceright
|
||
+!7E U+007E asciitilde
|
||
+=A0 U+00A0
|
||
+!A1 U+00A1 exclamdown
|
||
+!A2 U+00A2 cent
|
||
+!A3 U+00A3 sterling
|
||
+!A4 U+00A4 currency
|
||
+!A5 U+00A5 yen
|
||
+!A6 U+00A6 brokenbar
|
||
+!A7 U+00A7 section
|
||
+!A8 U+00A8 dieresis
|
||
+!A9 U+00A9 copyright
|
||
+!AA U+00AA ordfeminine
|
||
+!AB U+00AB guillemotleft
|
||
+!AC U+00AC logicalnot
|
||
+=AD U+00AD
|
||
+!AE U+00AE registered
|
||
+!AF U+00AF macron
|
||
+!B0 U+00B0 degree
|
||
+!B1 U+00B1 plusminus
|
||
+=B2 U+00B2
|
||
+=B3 U+00B3
|
||
+!B4 U+00B4 acute
|
||
+=B5 U+00B5
|
||
+!B6 U+00B6 paragraph
|
||
+!B7 U+00B7 periodcentered
|
||
+!B8 U+00B8 cedilla
|
||
+=B9 U+00B9
|
||
+!BA U+00BA ordmasculine
|
||
+!BB U+00BB guillemotright
|
||
+!BC U+00BC onequarter
|
||
+!BD U+00BD onehalf
|
||
+!BE U+00BE threequarters
|
||
+!BF U+00BF questiondown
|
||
+!C0 U+00C0 Agrave
|
||
+!C1 U+00C1 Aacute
|
||
+!C2 U+00C2 Acircumflex
|
||
+!C3 U+00C3 Atilde
|
||
+!C4 U+00C4 Adieresis
|
||
+!C5 U+00C5 Aring
|
||
+!C6 U+00C6 AE
|
||
+!C7 U+00C7 Ccedilla
|
||
+!C8 U+00C8 Egrave
|
||
+!C9 U+00C9 Eacute
|
||
+!CA U+00CA Ecircumflex
|
||
+!CB U+00CB Edieresis
|
||
+!CC U+00CC Igrave
|
||
+!CD U+00CD Iacute
|
||
+!CE U+00CE Icircumflex
|
||
+!CF U+00CF Idieresis
|
||
+!D0 U+00D0 Eth
|
||
+!D1 U+00D1 Ntilde
|
||
+!D2 U+00D2 Ograve
|
||
+!D3 U+00D3 Oacute
|
||
+!D4 U+00D4 Ocircumflex
|
||
+!D5 U+00D5 Otilde
|
||
+!D6 U+00D6 Odieresis
|
||
+!D7 U+00D7 multiply
|
||
+!D8 U+00D8 Oslash
|
||
+!D9 U+00D9 Ugrave
|
||
+!DA U+00DA Uacute
|
||
+!DB U+00DB Ucircumflex
|
||
+!DC U+00DC Udieresis
|
||
+!DD U+00DD Yacute
|
||
+!DE U+00DE Thorn
|
||
+!DF U+00DF germandbls
|
||
+!E0 U+00E0 agrave
|
||
+!E1 U+00E1 aacute
|
||
+!E2 U+00E2 acircumflex
|
||
+!E3 U+00E3 atilde
|
||
+!E4 U+00E4 adieresis
|
||
+!E5 U+00E5 aring
|
||
+!E6 U+00E6 ae
|
||
+!E7 U+00E7 ccedilla
|
||
+!E8 U+00E8 egrave
|
||
+!E9 U+00E9 eacute
|
||
+!EA U+00EA ecircumflex
|
||
+!EB U+00EB edieresis
|
||
+!EC U+00EC igrave
|
||
+!ED U+00ED iacute
|
||
+!EE U+00EE icircumflex
|
||
+!EF U+00EF idieresis
|
||
+!F0 U+00F0 eth
|
||
+!F1 U+00F1 ntilde
|
||
+!F2 U+00F2 ograve
|
||
+!F3 U+00F3 oacute
|
||
+!F4 U+00F4 ocircumflex
|
||
+!F5 U+00F5 otilde
|
||
+!F6 U+00F6 odieresis
|
||
+!F7 U+00F7 divide
|
||
+!F8 U+00F8 oslash
|
||
+!F9 U+00F9 ugrave
|
||
+!FA U+00FA uacute
|
||
+!FB U+00FB ucircumflex
|
||
+!FC U+00FC udieresis
|
||
+!FD U+00FD yacute
|
||
+!FE U+00FE thorn
|
||
+!FF U+00FF ydieresis
|
||
+!19e U+0391 uni0391
|
||
+!19f U+0392 uni0392
|
||
+!1a0 U+0393 uni0393
|
||
+!1a1 U+0394 uni0394
|
||
+!1a2 U+0395 uni0395
|
||
+!1a3 U+0396 uni0396
|
||
+!1a4 U+0397 uni0397
|
||
+!1a5 U+0398 uni0398
|
||
+!1a6 U+0399 uni0399
|
||
+!1a7 U+039A uni039A
|
||
+!1a8 U+039B uni039B
|
||
+!1a9 U+039C uni039C
|
||
+!1aa U+039D uni039D
|
||
+!1ab U+039E uni039E
|
||
+!1ac U+039F uni039F
|
||
+!1ad U+03A0 uni03A0
|
||
+!1ae U+03A1 uni03A1
|
||
+!1af U+03A3 uni03A3
|
||
+!1b0 U+03A4 uni03A4
|
||
+!1b1 U+03A5 uni03A5
|
||
+!1b2 U+03A6 uni03A6
|
||
+!1b3 U+03A7 uni03A7
|
||
+!1b4 U+03A8 uni03A8
|
||
+!1b5 U+03A9 uni03A9
|
||
+!1b6 U+03B1 uni03B1
|
||
+!1b7 U+03B2 uni03B2
|
||
+!1b8 U+03B3 uni03B3
|
||
+!1b9 U+03B4 uni03B4
|
||
+!1ba U+03B5 uni03B5
|
||
+!1bb U+03B6 uni03B6
|
||
+!1bc U+03B7 uni03B7
|
||
+!1bd U+03B8 uni03B8
|
||
+!1be U+03B9 uni03B9
|
||
+!1bf U+03BA uni03BA
|
||
+!1c0 U+03BB uni03BB
|
||
+!1c1 U+03BC uni03BC
|
||
+!1c2 U+03BD uni03BD
|
||
+!1c3 U+03BE uni03BE
|
||
+!1c4 U+03BF uni03BF
|
||
+!1c5 U+03C0 uni03C0
|
||
+!1c6 U+03C1 uni03C1
|
||
+!1c7 U+03C2 uni03C2
|
||
+!1c8 U+03C3 uni03C3
|
||
+!1c9 U+03C4 uni03C4
|
||
+!1ca U+03C5 uni03C5
|
||
+!1cb U+03C6 uni03C6
|
||
+!1cc U+03C7 uni03C7
|
||
+!1cd U+03C8 uni03C8
|
||
+!1ce U+03C9 uni03C9
|
||
+!1cf U+03D0 uni03D0
|
||
+!1d0 U+03D1 uni03D1
|
||
+!1d1 U+03D5 uni03D5
|
||
+!1d2 U+03D6 uni03D6
|
||
+!25b U+2016 uni2016
|
||
+!26d U+2032 uni2032
|
||
+!26e U+2033 uni2033
|
||
+!26f U+2034 uni2034
|
||
+!270 U+2035 uni2035
|
||
+!271 U+2036 uni2036
|
||
+!272 U+2037 uni2037
|
||
+!273 U+2039 uni2039
|
||
+!274 U+203A uni203A
|
||
+!275 U+203C uni203C
|
||
+!276 U+2044 uni2044
|
||
+!277 U+20AC uni20AC
|
||
+!278 U+2107 uni2107
|
||
+!279 U+210B uni210B
|
||
+!27a U+210E uni210E
|
||
+!27b U+210F uni210F
|
||
+!27e U+2113 uni2113
|
||
+!284 U+211B uni211B
|
||
+!289 U+2126 uni2126
|
||
+!28a U+2127 uni2127
|
||
+!28d U+212B uni212B
|
||
+!295 U+2135 uni2135
|
||
+!296 U+2136 uni2136
|
||
+!297 U+2137 uni2137
|
||
+!298 U+2138 uni2138
|
||
+!299 U+2190 uni2190
|
||
+!29a U+2191 uni2191
|
||
+!29b U+2192 uni2192
|
||
+!29c U+2193 uni2193
|
||
+!29d U+2194 uni2194
|
||
+!29e U+2195 uni2195
|
||
+!2a1 U+21D0 uni21D0
|
||
+!2a2 U+21D1 uni21D1
|
||
+!2a3 U+21D2 uni21D2
|
||
+!2a4 U+21D3 uni21D3
|
||
+!2a5 U+21D4 uni21D4
|
||
+!2a6 U+2200 uni2200
|
||
+!2a7 U+2202 uni2202
|
||
+!2a8 U+2203 uni2203
|
||
+!2aa U+2205 uni2205
|
||
+!2ab U+2206 uni2206
|
||
+!2ac U+2207 uni2207
|
||
+!2ad U+2208 uni2208
|
||
+!2ae U+2209 uni2209
|
||
+!2af U+220A uni220A
|
||
+!2b0 U+220B uni220B
|
||
+!2b1 U+220C uni220C
|
||
+!2b2 U+220D uni220D
|
||
+!2b4 U+220F uni220F
|
||
+!2b6 U+2211 uni2211
|
||
+!2b7 U+2212 uni2212
|
||
+!2b8 U+2213 uni2213
|
||
+!2ba U+2215 uni2215
|
||
+!2bb U+2216 uni2216
|
||
+!2bc U+2217 uni2217
|
||
+!2bd U+2218 uni2218
|
||
+!2be U+2219 uni2219
|
||
+!2bf U+221A uni221A
|
||
+!2c0 U+221B uni221B
|
||
+!2c1 U+221C uni221C
|
||
+!2c2 U+221D uni221D
|
||
+!2c3 U+221E uni221E
|
||
+!2c4 U+221F uni221F
|
||
+!2c8 U+2223 uni2223
|
||
+!2ca U+2225 uni2225
|
||
+!2cc U+2227 uni2227
|
||
+!2cd U+2228 uni2228
|
||
+!2ce U+2229 uni2229
|
||
+!2cf U+222A uni222A
|
||
+!2d0 U+222B uni222B
|
||
+!2d1 U+222C uni222C
|
||
+!2d2 U+222D uni222D
|
||
+!2d3 U+222E uni222E
|
||
+!2d9 U+2234 uni2234
|
||
+!2da U+2235 uni2235
|
||
+!2db U+2236 uni2236
|
||
+!2dc U+2237 uni2237
|
||
+!2e1 U+223C uni223C
|
||
+!2e2 U+223D uni223D
|
||
+!2e3 U+223E uni223E
|
||
+!2e4 U+223F uni223F
|
||
+!2e6 U+2241 uni2241
|
||
+!2e7 U+2242 uni2242
|
||
+!2e8 U+2243 uni2243
|
||
+!2e9 U+2244 uni2244
|
||
+!2ea U+2245 uni2245
|
||
+!2eb U+2246 uni2246
|
||
+!2ec U+2247 uni2247
|
||
+!2ed U+2248 uni2248
|
||
+!2ee U+2249 uni2249
|
||
+!2f4 U+224F uni224F
|
||
+!2f5 U+225F uni225F
|
||
+!2f6 U+2260 uni2260
|
||
+!2f7 U+2261 uni2261
|
||
+!2fa U+2264 uni2264
|
||
+!2fb U+2265 uni2265
|
||
+!2fc U+2266 uni2266
|
||
+!2fd U+2267 uni2267
|
||
+!300 U+226A uni226A
|
||
+!301 U+226B uni226B
|
||
+!302 U+226C uni226C
|
||
+!303 U+226D uni226D
|
||
+!304 U+226E uni226E
|
||
+!305 U+226F uni226F
|
||
+!306 U+2270 uni2270
|
||
+!307 U+2271 uni2271
|
||
+!308 U+2272 uni2272
|
||
+!309 U+2273 uni2273
|
||
+!30a U+2274 uni2274
|
||
+!30b U+2275 uni2275
|
||
+!310 U+227A uni227A
|
||
+!311 U+227B uni227B
|
||
+!312 U+227C uni227C
|
||
+!313 U+227D uni227D
|
||
+!314 U+227E uni227E
|
||
+!315 U+227F uni227F
|
||
+!316 U+2280 uni2280
|
||
+!317 U+2281 uni2281
|
||
+!318 U+2282 uni2282
|
||
+!319 U+2283 uni2283
|
||
+!31a U+2284 uni2284
|
||
+!31b U+2285 uni2285
|
||
+!31c U+2286 uni2286
|
||
+!31d U+2287 uni2287
|
||
+!31e U+2288 uni2288
|
||
+!31f U+2289 uni2289
|
||
+!389 U+2297 uni2297
|
||
+!38b U+2299 uni2299
|
||
+!320 U+22C0 uni22C0
|
||
+!321 U+22C1 uni22C1
|
||
+!322 U+22C2 uni22C2
|
||
+!323 U+22C3 uni22C3
|
||
+!327 U+2310 uni2310
|
||
+!328 U+2320 uni2320
|
||
+!329 U+2321 uni2321
|
||
+!32a U+2322 uni2322
|
||
+!32b U+2323 uni2323
|
||
+!32c U+2329 uni2329
|
||
+!32d U+232A uni232A
|
||
+!32e U+239B uni239B
|
||
+!32f U+239C uni239C
|
||
+!330 U+239D uni239D
|
||
+!331 U+239E uni239E
|
||
+!332 U+239F uni239F
|
||
+!333 U+23A0 uni23A0
|
||
+!334 U+23A1 uni23A1
|
||
+!335 U+23A2 uni2392
|
||
+!336 U+23A3 uni23A3
|
||
+!337 U+23A4 uni23A4
|
||
+!338 U+23A5 uni23A5
|
||
+!339 U+23A6 uni23A6
|
||
+!33a U+23A7 uni23A7
|
||
+!33b U+23A8 uni23A8
|
||
+!33c U+23A9 uni23A9
|
||
+!33d U+23AA uni23AA
|
||
+!33e U+23AB uni23AB
|
||
+!33f U+23AC uni23AC
|
||
+!340 U+23AD uni23AD
|
||
+!341 U+23AE uni23AE
|
||
+!342 U+23AF uni23AF
|
||
+!343 U+23B0 uni23B0
|
||
+!344 U+23B1 uni23B1
|
||
+!345 U+23B2 uni23B2
|
||
+!346 U+23B3 uni23B3
|
||
+!347 U+23B4 uni23B4
|
||
+!348 U+23B5 uni23B5
|
||
+!349 U+23B6 uni23B6
|
||
+!34a U+23B7 uni23B7
|
||
+!34b U+23B8 uni23B8
|
||
+!34c U+23B9 uni23B9
|
||
+!356 U+25A0 uni25A0
|
||
+!357 U+25A1 uni25A1
|
||
+!358 U+25AA uni25AA
|
||
+!359 U+25AB uni25AB
|
||
+!35b U+25B2 uni25B2
|
||
+!35c U+25B3 uni25B3
|
||
+!35d U+25BC uni25BC
|
||
+!35e U+25BD uni25BD
|
||
+!35a U+25C6 uni25C6
|
||
+!35f U+25CA uni25CA
|
||
+!360 U+25CB uni25CB
|
||
+!361 U+25CF uni25CF
|
||
+!364 U+25E6 uni25E6
|
||
+!362 U+25FB uni25FB
|
||
+!363 U+25FC uni25FC
|
||
+!365 U+2609 uni2609
|
||
Index: term/PostScript/utf-8.ps
|
||
===================================================================
|
||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||
+++ term/PostScript/utf-8.ps 2010-03-04 10:44:07.000000000 +0100
|
||
@@ -0,0 +1,58 @@
|
||
+%
|
||
+% Base ISO8859-1 character encoding plus support macros for UTF-8 encoding
|
||
+% via the glyphshow operator
|
||
+%
|
||
+/reencodeISO {
|
||
+dup dup findfont dup length dict begin
|
||
+{ 1 index /FID ne { def }{ pop pop } ifelse } forall
|
||
+currentdict /CharStrings known {
|
||
+ CharStrings /Idieresis known {
|
||
+ /Encoding ISOLatin1Encoding def } if
|
||
+} if
|
||
+currentdict end definefont
|
||
+} def
|
||
+/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
|
||
+
|
||
+/Gshow { dup type /stringtype eq { show } { glyphshow } ifelse } def
|
||
+
|
||
+/Gsall { {Gshow} forall } def
|
||
+/Gwidth {
|
||
+ dup currentpoint pop exch
|
||
+ gsave 6 array currentmatrix nulldevice setmatrix Gsall currentpoint pop grestore sub
|
||
+ } def
|
||
+/GLshow {currentpoint stroke M 0 vshift R
|
||
+ Blacktext {gsave 0 setgray Gsall grestore} {Gsall} ifelse} def
|
||
+/GRshow {currentpoint stroke M dup Gwidth vshift R
|
||
+ Blacktext {gsave 0 setgray Gsall grestore} {Gsall} ifelse} def
|
||
+/GCshow {currentpoint stroke M dup Gwidth 2 div vshift R
|
||
+ Blacktext {gsave 0 setgray Gsall grestore} {Gsall} ifelse} def
|