[luatex] Modifying protrusion default.

john Culleton John at wexfordpress.com
Thu Aug 29 15:06:56 CEST 2013


On Mon, 26 Aug 2013 00:31:07 +0200
Philipp Gesang <Philipp.Gesang at alumni.uni-heidelberg.de> wrote:

> ···<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
> 
Thanks for your effort. 

The hard part is adding either approach to the zip file I will send my
customers.  Remember, my audience is not into modifying code in
their TeX installation, whether it is TeXLive or Context minimal. Is
there a way to add a macro to that zip file that will override the 
code already embedded in the TeX installation? 

And is there a plan to add the protrusion features already found in
pdftex and Context MKIV to plain Luatex?

-- 
John Culleton
Wexford Press
Free list of books for self-publishers:
http://wexfordpress.net/shortlist.html
PDF e-book: "Create Book Covers with Scribus"
available at http://www.booklocker.com/books/4055.html



More information about the luatex mailing list