ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Re: [NTG-pdftex] kerning
       [not found]   ` <429D7FB5.90406@wxs.nl>
@ 2005-06-02 15:31     ` Taco Hoekwater
  2005-06-02 20:28       ` Hans Hagen
                         ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Taco Hoekwater @ 2005-06-02 15:31 UTC (permalink / raw)
  Cc: ntg-context



Hans Hagen wrote:
> Taco Hoekwater wrote:
> 
>> PS. I can create a series of slides that show internals of the
>> font reading process for the ntg meeting, if you are interested.
> 
> 
> sounds like a good idea to me

For those of you who are interested in this sort of thing, I've posted
an 884-page PDF document that illustrates TeX's loading of a few font
metric files:

   nullfont (internal)
   cmr10
   cmsy10
   cmex10

De document, and sources, are available at:

   http://tex.aanhet.net/temp/fontreader.pdf
   http://tex.aanhet.net/temp/fontreader.zip

Beware, the PDF is pretty large (7.7Mb). MetaPost, Perl and Context
sources are quite small (12kb), but very much a hack.

Taco

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [NTG-pdftex] kerning
  2005-06-02 15:31     ` [NTG-pdftex] kerning Taco Hoekwater
@ 2005-06-02 20:28       ` Hans Hagen
  2005-06-28 12:10       ` kerning Patrick Gundlach
  2005-07-11 15:11       ` TeX trie processing (\pattern loading) details visualisation Taco Hoekwater
  2 siblings, 0 replies; 4+ messages in thread
From: Hans Hagen @ 2005-06-02 20:28 UTC (permalink / raw)
  Cc: ntg-context, pdfTeX developers list

Taco Hoekwater wrote:

> De document, and sources, are available at:
> 
>   http://tex.aanhet.net/temp/fontreader.pdf
>   http://tex.aanhet.net/temp/fontreader.zip
> 
> Beware, the PDF is pretty large (7.7Mb). MetaPost, Perl and Context
> sources are quite small (12kb), but very much a hack.

brilliant, you made my day

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                              | www.pragma-pod.nl
-----------------------------------------------------------------

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: kerning
  2005-06-02 15:31     ` [NTG-pdftex] kerning Taco Hoekwater
  2005-06-02 20:28       ` Hans Hagen
@ 2005-06-28 12:10       ` Patrick Gundlach
  2005-07-11 15:11       ` TeX trie processing (\pattern loading) details visualisation Taco Hoekwater
  2 siblings, 0 replies; 4+ messages in thread
From: Patrick Gundlach @ 2005-06-28 12:10 UTC (permalink / raw)



> For those of you who are interested in this sort of thing, I've posted
> an 884-page PDF document that illustrates TeX's loading of a few font
> metric files:

Very nice illustration. Thanks, Taco!

Patrick
-- 
ConTeXt wiki and more: http://contextgarden.net

^ permalink raw reply	[flat|nested] 4+ messages in thread

* TeX trie processing (\pattern loading) details visualisation
  2005-06-02 15:31     ` [NTG-pdftex] kerning Taco Hoekwater
  2005-06-02 20:28       ` Hans Hagen
  2005-06-28 12:10       ` kerning Patrick Gundlach
@ 2005-07-11 15:11       ` Taco Hoekwater
  2 siblings, 0 replies; 4+ messages in thread
From: Taco Hoekwater @ 2005-07-11 15:11 UTC (permalink / raw)
  Cc: ntg-context, pdfTeX developers list


Hi,

Vaguely connected to the font reader visualisation I posted last
month, I have created a visualisation of the trie (\pattern)
processing source code in initex.

There are files here:

    http://tex.aanhet.net/temp/patreader.zip (12.825 bytes)
    http://tex.aanhet.net/temp/patreader.pdf (> 36 Megabytes)

Please fetch the zip file and attempt to generate a local
version yourself before downloading the PDF document :)

The process itself is a bit harder to comprehend than the font
reader, so some background knowledge is needed. It also helps
if you have the TeX pascal sources handy.

I should probably write a descriptive text in prose to go along
with the images, but I'm bored with this stuff. It took me much
longer than I had anticipated, because I kept running into
limitations of MP ;-(


Roughly, the execution order <-> pages mapping is as follows:

   pages      function          action

    1  -   8  new_patterns()    % \patterns for language 0
    9  -  23  new_patterns()    % \patterns for language 2
   24  -  26  new_patterns()    % \patterns for language 1
   27  -  29  init_trie()       % initialization of arrays
   30  -  41  init_trie()       % reshuffling languages 2 and 1
   42  -  42  init_trie()       % prepare for compression
   43  - 241  compress_trie()   % trie compression
  242  - 244  init_trie()       % prepare for packing
  245  - 717  first_fit()       % trie packing
  718  - 965  init_trie()       % finalizations for run-time

The various blue items are used runtime (i.e. during hyphenation),
the other arrays are only used in initex or only for statistics
reporting.

trie_hash is physically the same array as trie_ref, but it is
cleaner to show them separately.

The supplied perl script can in fact demonstrate the hyphenation of
words using TeX's algorithm, but if you want meaningful results you
have to feed it hyphen.tex instead of the three demonstration languages,
and in that case, you have to increase the two limits ($trie_size and
$trie_op_size). Check the top (and bottom) of the perl script for that.

Have fun,

Taco

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-07-11 15:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <429D6DD1.2040005@wxs.nl>
     [not found] ` <429D734F.7040203@elvenkind.com>
     [not found]   ` <429D7FB5.90406@wxs.nl>
2005-06-02 15:31     ` [NTG-pdftex] kerning Taco Hoekwater
2005-06-02 20:28       ` Hans Hagen
2005-06-28 12:10       ` kerning Patrick Gundlach
2005-07-11 15:11       ` TeX trie processing (\pattern loading) details visualisation Taco Hoekwater

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).