···<date: 2013-08-24, Saturday>···<from: john Culleton>···

> I am building a template file series for writers of novels etc. One of
> the strong reasons for using luatex as opposed to other DTP programs is
> the availability of punctuation protrusion. 
> 
> The default protrusion factors are contained in a table in a file named
> otfl-font-dum.lua.

Your Luaotfload version is quite old, you should consider
upgrading.

>                    These factors are too large for use in e.g., a
> novel. I can of course modify this file for my own use. But if I want
> to send the modified file to a client to use is it sufficient to just
> include a modified otfl-font-dum.lua file in the batch of macros I
> send to the customer? Or can I put the modified table in a my luatex
> template source document and expect it to override the original table?
>
> Or is there another way to use a modified protrusion table that is
> easily transportable to customers who aren't into replacing
> files in the innards of TeX?
 
I’ve added some example code to the test repo:

  
https://bitbucket.org/phg/lua-la-tex-tests/src/tip/pln-expansion-protrusion-1.lua
  
https://bitbucket.org/phg/lua-la-tex-tests/src/tip/pln-expansion-protrusion-1.tex

This should work with both luaotfload and luatex-fonts.

Basically, your options include a) manipulating the scale factors
of the default vector or b) making up your own vector. New
vectors, if added to the table fonts.protrusions.setups, can be
referred to by their name when defining a font just like the
default. E. g. create a vector

    fonts.protrusions.setups.myvector = {
      factor = 1,
      left   = 1,
      right  = 1,

      --- map code points to protrusion values
      --- [1] is  left, [2] is right
      [string.byte ","] = { 0, 0.4 },
      [string.byte "."] = { 0, 0.4 },
      ....
    }

and then in your document define a font like so:

  \pdfprotrudechars2
  \font \mainfont = "file:Iwona-Regular.otf:protrusion=myvector"

It’s not hard, except for coming up with sane values ;-)

Best regards,
Philipp

Attachment: pgp_ruk55jTtn.pgp
Description: PGP signature

Reply via email to