* # . . . # # . / # / . # # # . . \ # \ .
* # # . . / # / . . . # # . \ # \
* # # . . # / . . . . # # . . \ #
- *
+ *
* The position of the lines is such that the diagonal stroke is the
* same width as a horizontal or vertical stroke (assuming square
* pixels). There are a few additional complications, in that the
{"\00\01\37\20\20\20\20\00\00", U(0491) }, /* ghe with upturn */
{"\17\10\10\36\10\10\10\00\00", U(0492) }, /* Ghe with stroke */
{"\00\00\17\10\36\10\10\00\00", U(0493) }, /* ghe with stroke */
-
+
#ifdef ARMENIAN
/* Armenian */
{"\21\21\21\21\25\22\15\00\00", U(0531) }, /* Ayb */
{"\20\20\24\24\24\24\17\00\00", U(0587) }, /* ech_yiwn */
{"\14\22\22\07\02\07\02\00\00", U(058F) }, /* armdram */
#endif
-
+
/* Phonetic extensions */
{"\00\00\16\21\37\21\21\00\00", U(1D00) }, /* small cap A */
{"\00\00\17\24\26\34\27\00\00", U(1D01) }, /* small cap AE */
{"\01\01\17\21\21\21\17\00\04", U(1E0D) }, /* ddotbelow */
ALIAS("uni1E0D.sc", "uni1E0C.c2sc"),
{"\36\21\21\21\21\21\36\00\16", U(1E0E) }, /* Dmacronbelow */
- {"\00\00\36\21\21\21\36\00\16", 0xf1a0, "uni1E0E.c2sc" },
+ {"\00\00\36\21\21\21\36\00\16", 0xf1a0, "uni1E0E.c2sc" },
{"\01\01\17\21\21\21\17\00\16", U(1E0F) }, /* dmacronbelow */
ALIAS("uni1E0F.sc", "uni1E0E.c2sc"),
{"\36\21\21\21\21\21\36\04\10", U(1E10) }, /* Dcedilla */
{"\14\04\04\04\04\04\16\00\16", U(1E3B) }, /* lmacronbelow */
ALIAS("uni1E3B.sc", "uni1E3A.c2sc"),
{"\20\20\20\20\20\20\37\04\12", U(1E3C) }, /* Lcircumflexbelow */
- {"\00\00\20\20\20\20\37\04\12", 0xf1aa, "uni1E3C.c2sc" },
+ {"\00\00\20\20\20\20\37\04\12", 0xf1aa, "uni1E3C.c2sc" },
{"\14\04\04\04\04\16\00\04\12", U(1E3D) }, /* lcircumflexbelow */
ALIAS("uni1E3D.sc", "uni1E3C.c2sc"),
{"\02\04\21\33\25\21\21\00\00", U(1E3E) }, /* Macute */
{"\00\00\21\12\04\04\04\00\04", 0xf1be, "uni1EF4.c2sc" },
{"\00\00\21\21\17\01\16\00\04", U(1EF5) }, /* ydotbelow */
ALIAS("uni1EF5.sc", "uni1EF4.c2sc"),
-
+
/* General punctuation */
{{0x00}, U(2001), MOS6 }, /* em quad */
{"\00\00\00\16\00\00\00\00\00", U(2010) }, /* hyphen */
ALIAS("uni2E56.rtlm", "uni2E55"),
{"\17\10\34\10\34\10\17\00\00", U(2E57) }, /* bracketleft dbl strk */
ALIAS("uni2E57.rtlm", "uni2E58"),
- {"\36\02\07\02\07\02\36\00\00", U(2E58) }, /* bracketright dbl strk */
+ {"\36\02\07\02\07\02\36\00\00", U(2E58) }, /* bracketright dbl strk */
ALIAS("uni2E58.rtlm", "uni2E57"),
{"\02\04\10\10\00\00\00\00\00", U(2E59) }, /* top half parenleft */
ALIAS("uni2E59.rtlm", "uni2E5A"),
* glyph names. They appear scattered across the glyph list, and not
* here.
*/
-
+
/* Alphabetic presentation forms */
{"\06\10\36\12\12\12\17\00\00", 0xfb01, "fi" },
{"\06\12\12\36\12\12\17\00\00", 0xfb02, "fl" },
{"\04\12\12\04\26\15\04\12\22", U(1FBC8) }, /* ... leaning right */
{"\04\12\12\04\37\12\21\37\12", U(1FBC9) }, /* ... wearing dress */
{"\04\12\21\21\25\33\21\00\00", U(1FBCA) }, /* white chevron up */
-
+
/*
* Backward compatibility aliases. These are glyphs whose name has
* changed and where we want to keep the old name working. The first
glyph_complement();
return EXIT_SUCCESS;
}
-
+
while (argc > 1) {
for (i = 0; i < nwidths; i++)
if (strcmp(argv[1], widths[i].option) == 0) {
" <bArmStyle value='%d'/><bLetterForm value='%d'/>\n"
" <bMidline value='%d'/><bXHeight value='%d'/>\n"
" </panose>\n",
- panose[0], panose[1], panose[2], panose[3], panose[4],
+ panose[0], panose[1], panose[2], panose[3], panose[4],
panose[5], panose[6], panose[7], panose[8], panose[9]);
}
if (stacksize != 0) printf(" rlineto");
}
-static void
+static void
emit_path(void)
{
int i, pass;
reverse_contour(point *a)
{
point *tmp;
-
+
while (a->prev != NULL)
a = a->prev;
while (a != NULL) {
a->prev = tmp;
a = tmp;
}
-}
+}
/* Join together two points each at the end of a contour */
static void
moveto(x * XPIX_S, (YSIZE-y-1) * YPIX_S); \
lineto((x+dx) * XPIX_S, (YSIZE-y-1+dy) * YPIX_S); \
} while (0)
-
+
clearpath();
for (x = 0; x < XSIZE; x++) {
for (y = 0; y < YSIZE; y++) {
moveto(x0, y0); lineto(x0, y1); lineto(x1, y1); lineto(x1, y0);
closepath();
}
-
+
static void
domosaic(struct glyph *g)
{
if ((unsigned)a->unicode > (unsigned)b->unicode) return +1;
return strcmp(a->name, b->name);
}
-
+
static void
glyph_complement()
{