groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] Installing Russian Type-1 Fonts


From: Anton Shepelev
Subject: Re: [Groff] Installing Russian Type-1 Fonts
Date: Thu, 18 Aug 2011 19:43:20 +0400

Hello, Werner, and thank you for the reply.

I got the font working, although I do not completely
understand what is going on internally. In addition,
the CMCyr package, which I registered with Groff, is
only an extension to the Computer Modern fonts  hav-
ing  only  Russian-specific symbols, and it needs to
be combined with the basic CM fonts before it can be
used  with  Groff, which I don't know how to do yet.
In this connection, does anybody know of a tool  for
merging  Type-1  fonts,  with non-intersecting glyph
sets, of course?

I got a question about  groff's  handling  of  UTF-8
input. GROFF_CHAR(7) says:

    On ASCII platforms, input character codes in
    the range 0 to 127 (decimal)  represent  the
    usual  7-bit  ASCII  characters, while codes
    between 127 and 255 are interpreted  as  the
    corresponding   characters   in  the  latin1
    (ISO-8859-1) code set by default. This  map-
    ping  is  contained  in the file latin1.tmac
    and can be changed by  loading  a  different
    input encoding.

As I understand, the -KUTF-8 option causes the input
UTF-8-encoded file to be converted into  8-bit.  But
how does Groff know how these 8-bit input characters
map into, say, glyph names for Russian letters? Does
the  -K  option  create  an input mapping similar to
latin1.tmac on-the-fly, depending on  which  symbols
are  found in the unicode source file? I don't think
it can have one predefined input mapping because for
different  languages the same 8-bit input characters
must be mapped into defferent glyphs...

> No. groff accesses Type 1 fonts  always  by  glyph
> names.

GROFF_FONT(5) says this about glyph-definition lines
in font files:

    The code field  gives  the  code  which  the
    postprocessor uses toprint the glyph.
    [...]
    The  entity_name field gives an ASCII string
    identifying the glyph which the  postproces-
    sor  uses to print that glyph. This field is
    optional and is currently used by  grops  to
    build  subencoding  arrays for PS fonts con-
    taining more than 256 glyphs...

Is this part obsolette, particularly  --  the  lines
about  grops  using  glyph names _only_ when dealing
with fonts with more than 256 characters? Said CMCyr
fonts  have  only  66  characters  yet  seem  to  be
accessed by glyph name...

> Internally, all input  characters,  regardless  of
> the input encoding, are converted to entities from
> the Groff  Glyph  List  (GGL;  you  can  find  the
> details in groff.texinfo).

According  to  the  manual,  GGL  is  a fixed set of
glyphs, and I didn't find glyphs for Russian letters
among them (in groff_char.7). Conversely, the glyphs
for Russian letters seem to be calculated  algorith-
mically:

    Glyph  names not listed in groff_char(7) are
    derived algorithmically, using a  simplified
    version  of the Adobe Glyph List (AGL) algo-
    rithm [...] The (frozen) set of glyph  names
    which  can't  be  derived algorithmically is
    called groff glyph list (GGL).

Or did I misunderstand you and/or the manual?

Anton



reply via email to

[Prev in Thread] Current Thread [Next in Thread]