On 28-10-2010 7:48, Ulrike Fischer wrote:

Hm. I do have a bit the impression as if we have here a context and
latex philosophy clash. I'm not asking you to provide a funktion

Huh? I'm not sure what philosophy refers to, as I'm not refering to context but to the otf loading code; so it would be a function in the lua code base (it would not even be interfaced to context as it would invalidate most of the characters in a font).

incorporated in the context code which does the job. _I_ want to
write support files for the chess ttf-fonts. If I get something
working I will perhaps add it to my package. And if something
changes in luatex or the underlying luaotfload/context code, well
then I will have to adjust my code.

Sure, but the first complaints would end up in khaleds, tacos or my mailbox unless your package is private and never ends up in tex distributions). The fact that it's custom in latex to overload code and thus create a maintaince depency does not mean that I want such a dependency on my code. The context philosophy is to provide hooks and ignore all compliants about other usage cq. don't care about usage of code that is not meant to be accesses directly. (Also, Khaled then provides the interface to the latex packages.)

Couldn't you give some examples how to manipulate a font after it
has been defined with \font\test (if it is possible) and then let me
play around?

I have no clue about the lualatex interface i.e. at what point you can hook in code. Keep in mind that messing around with a font before or during loading can influence other instances of that font as some data is shared. Also, once the font lives at the tex end, some data is frozen. Because some of the font's metadata is used in otf processing one cannot change that data without keeping that in mind.

Anyhow, you can access some font data afterwards. In context form:

    \startluacode
        function Whatever(name)
            for k, v in pairs(fonts.ids[font.current()].descriptions) do
                if v.name == name then
                    tex.sprint("\\char"..k.."\\relax")
                    break
                end
            end
        end
    \stopluacode
    \font\test=file:pirat.ttf
    \def\MyChessChar#1{{\test\directlua{Whatever("#1")}}}
    \MyChessChar{c160}

This is dead slow and inefficient but as you don't want a proper function for it I don't care too much. Interesting is that it does not work out (as wis to be expected as the normal glyph access function does something similar).

Btw, a bit of testing at my end shows that there is something fishy with the font with respect to inclusion in the pdf so it can well be that the accessor is ok and something else is the problem.

As taco mentioned in an earlier mail, we will look into it (even it makes not much sense).

Hans

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
    tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                             | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to