diff options
author | wl <wl> | 2006-02-26 22:21:37 +0000 |
---|---|---|
committer | wl <wl> | 2006-02-26 22:21:37 +0000 |
commit | 4b6e325fd4415df8050b0415af0d7d14bd6e43c9 (patch) | |
tree | 92cb00de203252e7ee0ff245e6f78bb5c566bc33 /src/include | |
parent | 91a4472253fff23acf3a902d64d43d27d7ffcb5d (diff) | |
download | groff-4b6e325fd4415df8050b0415af0d7d14bd6e43c9.tar.gz |
* doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable. (CLEANADD): Use it.
(install_html, uninstall_sub): Updated.
Introduce Unicode fonts.
* font/devhtml/DESC.proto: Mark as unicode. font/devhtml/R.proto: Remove all
* charset entries that are already
in glyphuni.cpp. font/devutf8/DESC.proto: Mark as unicode.
* font/devutf8/R.proto: Remove all charset entries. src/include/font.h
* (font): New static field `is_unicode'.
Change order of fields. src/libs/libgroff/font.cpp: Include unicode.h.
* (font::font): Update for
changed order of fields. (font::contains, font::get_width, font::get_height,
font::get_depth, font::get_italic_correction,
font::get_left_italic_correction, font::get_subscript_correction,
font::get_character_type, font::get_code,
font::get_special_device_encoding): Handle both the explicitly enumerated
glyphs and use general code for Unicode fonts. (font::load): Make the
charset section optional when the font is declared unicode.
(font::load_desc): Recognize the `unicode' attribute.
* src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/font.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/include/font.h b/src/include/font.h index 287d2006..0f561d1a 100644 --- a/src/include/font.h +++ b/src/include/font.h @@ -248,6 +248,8 @@ public: // `pass_filenames' attribute. static int use_charnames_in_special; // Nonzero if the DESC file has the // `use_charnames_in_special' attribute. + static int is_unicode; // Nonzero if the DESC file has the `unicode' + // attribute. static const char *image_generator; // The `image_generator' attribute // given in the DESC file. static const char **font_name_table; // The `fonts' attribute given in @@ -269,22 +271,24 @@ private: // Used by get_kern(). int space_width; // The normal width of a space. Used by // get_space_width(). + int special; // 1 if this font is special, 0 otherwise. Used by + // is_special(). + char *name; // The name of this font. Used by get_name(). + char *internalname; // The `internalname' attribute of this font, or + // NULL. Used by get_internal_name(). + double slant; // The natural slant angle (in degrees) of this font. int *ch_index; // Conversion table from font-independent character // indices to indices for this particular font. int nindices; font_char_metric *ch; // Metrics information for every character in this - // font. The indices of this array are + // font (if !is_unicode) or for just some characters + // (if is_unicode). The indices of this array are // font-specific, found as values in ch_index[]. int ch_used; int ch_size; - int special; // 1 if this font is special, 0 otherwise. Used by - // is_special(). - char *name; // The name of this font. Used by get_name(). - char *internalname; // The `internalname' attribute of this font, or - // NULL. Used by get_internal_name(). - double slant; // The natural slant angle (in degrees) of this font. font_widths_cache *widths_cache; // A cache of scaled character // widths. Used by the get_width() function. + static FONT_COMMAND_HANDLER unknown_desc_command_handler; // A // function defining the semantics of arbitrary // commands in the DESC file. |