Die hack is niet zo fraaij maar het werkt redelijk:

\def\cents{\makebox[0cm][l]{\rule{.47ex}{0mm}\rule[-.3ex]{.15mm}{1.6ex}}c}

Bedankt voor de uitleg omtrent file-encoding en font-encoding. Ik ging ervan uit dat LuaLaTeX intern UTF-8 gebruikt (naar analogie van Xe(La)TeX) maar dat is dus niet zo. Wel wat verwarrend maar het is nu eenmaal zo.

Zoals gezegd, LuaLaTeX in combinatie met de "Japanse" class files (ltjsarticle en ltjsbook) werkt best goed, hoewel ook in dat geval de details niet altijd even goed werken (dingen als babel, dat is altijd gelazer met de Japanse instellingen - zelfs in de moderne opvolger van babel, polyglossia, wordt Japans niet of nauwelijks ondersteund vanwege alle rare bijwerkingen).

Groeten,
Wilfred






On Wednesday, July 6, 2016 3:11 PM, Piet van Oostrum <piet-l@pietvanoostrum.com> wrote:


Wilfred van Rooijen schreef:

> Mmmm, OK, ik begrijp het probleem maar eigenlijk ook weer niet.
>
> Ik gebruik Japans en Engels door elkaar in mijn documenten. Dat was altijd een hoop gelazer: ofwel
> via platex (de Japanse platex niet te verwarren met de Poolse platex) en met een Japanse encoding
> (meestal EUC-JP), ofwel met XeLaTeX en UTF-8 maar met een hoop gezeik met font settings. Sinds een
> tijdje (een jaar of zo) gebruik ik LuaLaTeX icm de ltjsarticle en ltjsbook classes en UTF-8
> encoding en dat werkt totnutoe vlekkeloos.
>
> OK, deze keer gebruik ik memoir omdat het huidige document alleen Engels is. In combinatie met
> LuaLaTeX ging ik ervan uit dat dat volledig UTF-8 compatible zou zijn, maar blijkbaar is dat niet
> het geval (?). Wat betreft Japanse karakters werkt het in elk geval prima maar dat kan het gevolg
> zijn van de settings in de ltjs* class files (overigens wordt het dollarcent-teken ook met
> ltjsbook niet goed weergegeven).

Je haalt twee coderingen door elkaar; dat is waarschijnlijk de reden dat je het niet helemaal snapt.
Je hebt inputcodering en fontcodering. De inputcodering bepaalt wat de bytes in je .tex file betekenen. Utf-8 is in het algemeen een goede keus en toekomstbestendig. Intern in TeX worden voor karakters buiten de ASCII range geen nummers gebruikt maar macro's. Bij de output worden die macro's omgezet naar nummers voor het font. De fontcodering bepaalt welke codes voor die karakters gebruikt worden. Daar zit hem hier de crux. Het dollarcent teken heeft als Unicode hex A2 (162), maar de TeX Gyre fonts hebben, net als de meeste TeX fonts een andere waarde hiervoor. Het probleem zit hem aan de TeX kant. In de font-file is het weer wel 162. De LY1 encoding komt overeen met de Adobe-encoding, dus die heeft geen omzetting nodig.

> OK, ik kan fontspec gebruiken, en inderdaad, het dollarcent-teken wordt dan op de juiste manier
> weergegeven. Maar met fontspec zit je weer met al dat font-gepiemel, dan moet je de OTF kopieren,
> de font-lijsten gaan updaten..... ik was juist zo blij met LuaLaTeX en dat dat allemaal niet
> hoeft.
>
> OK, voorlopig heb ik op de interwebs een simpele hack gevonden (met een \def ) en die gebruik ik
> voorlopig maar even. Ik heb geen zin in gepiemel met encodings en dergelijke en aangezien het om
> een symbool gaat dat bovendien maar een keer in mijn tekst voorkomt vind ik het voorlopig goed
> zo.

Die hack zal dan waarschijnlijk gewoon de juiste code voor het cent-symbool nemen.

--
Piet van Oostrum <piet@vanoostrum.org>
WWW: http://pietvanoostrum.com/
PGP key: [8DAE142BE17999C4]