"Linux Libertine O" ne marche pas sous OS X (Bug #293)
Description
Bonjour,
En mode texte, AMC code en dur le nom de sa police dans le fichier LaTeX généré, "Linux Libertine O". Et ça ne marche pas. Il y a une tonne de commentaire sur StackOverflow au sujet de cette police, qui pose manifestement pas mal de problème (en fait mon kpsearch se plaint même de la présence d'espace dans le nom de fichier comme étant invalide).
Il y a une réponse précieuse de J. Wright ici :
http://tex.stackexchange.com/questions/127240/how-to-install-a-font-on-mactex-2013
(c'est aujourd'hui celle qui est tout en bas).
La partie importante de son message est :
XeTeX uses system-dependent code to load fonts, hence it's quite possible to see differences between how Windows and Mac installations find fonts. What will always work is looking not for the 'friendly' name of the font but the font file name: \documentclass{article} \usepackage{fontspec} \setmainfont[Ligatures=TeX,Numbers=OldStyle]{LinLibertine_R.otf} \begin{document} Testing, 1, 2, 3. \end{document}
J'ai essayé, et ça marche sur OS X. Je n'ai pas vérifié sur d'autres plateformes, mais quelqu'un comme Joseph Wright a forcément raison :) Je propose donc le patch suivant :
--- /tmp/plain.pm 2014-07-17 12:50:42.000000000 +0200 +++ /opt/local/lib/perl5/vendor_perl/AMC/Filter/plain.pm 2014-07-17 12:51:25.000000000 +0200 @@ -74,7 +74,7 @@ {'latexengine'=>'xelatex','xltxtra'=>1, 'questionblocks'=>1,'shufflequestions'=>1, 'completemulti'=>1, - 'font'=>'Linux Libertine O', + 'font'=>'LinLibertine_R.otf', 'arabicfont'=>'Rasheeq', 'defaultscoringm'=>'haut=2', 'l-name'=>__("Name and surname"),
History
Updated by Alexis Bienvenüe over 10 years ago
Est-ce que ça marche en utilisant l'option générale suivante dans le fichier AMC-TXT (au lieu de mofifier le programme lui-même) ?
Font: LinLibertine_R.otf
Updated by Akim Demaille over 10 years ago
Bonjour Alexis,
Alexis Bienvenüe wrote:
Est-ce que ça marche en utilisant l'option générale suivante dans le fichier AMC-TXT (au lieu de mofifier le programme lui-même) ?
[...]
Ça marche sûrement, si cette option existe. J'ai même pas essayé puisque la recherche dans la doc ne donnait rien. Toujours est-il que ça paraît plus pertinent de la part d'amc d'utiliser les noms portables plutôt que de demander aux utilisateurs de penser à modifier la font par défaut. Je maintiens donc ma suggestion de patch.
Updated by Alexis Bienvenüe over 10 years ago
Je suis d'accord avec vous (j'ai intégré votre modification). Je cherchais simplement un moyen de contourner le problème en attendant une mise à jour d'AMC sur MacOSX.
Updated by Akim Demaille over 10 years ago
Bonjour Alexis,
Merci pour la réaction rapide.
Alexis Bienvenüe wrote:
Ça va, éditer un bout de Perl ne me fait pas peur :) Il y a cependant deux soucis que je n'ai pas traités :Je suis d'accord avec vous (j'ai intégré votre modification). Je cherchais simplement un moyen de contourner le problème en attendant une mise à jour d'AMC sur MacOSX.
- étendre la documentation pour parler de Font:
- maintenant j'ai un warning inquiétant mais inoffensif au sujet de LinLibertine_R.otf: la procédure utilisée par AMC pour savoir si cette police existe échoue sous ce nom, d'où une fenêtre pop-up pas sympa. Mais pourtant ça marche.
Je ne sais pas quelle est votre procédure pour tester la présence de cette police, mais ceci marche :
$ kpsewhich LinLibertine_R.otf /opt/local/share/texmf-texlive/fonts/opentype/public/libertine/LinLibertine_R.otf
Updated by Alexis Bienvenüe over 10 years ago
Applied in changeset hg:443ea7c1a4c2.
- % Done changed from 0 to 100
- Status changed from New to Resolved
Updated by Alexis Bienvenüe over 10 years ago
éditer un bout de Perl ne me fait pas peur :)
Je pensais aux autres utilisateurs.
la procédure utilisée par AMC pour savoir si cette police existe échoue sous ce nom, d'où une fenêtre pop-up pas sympa. Mais pourtant ça marche.
J'ai affiné la procédure dans le commit hg:443ea7c1a4c2 qui intègre votre modification. Ceci devrait enlever l'avertissement.
Updated by Akim Demaille over 10 years ago
Alexis Bienvenüe wrote:
éditer un bout de Perl ne me fait pas peur :)
Je pensais aux autres utilisateurs.
Ah, désolé, comme je n'avais pas vu d'autres messages à ce sujet…
la procédure utilisée par AMC pour savoir si cette police existe échoue sous ce nom, d'où une fenêtre pop-up pas sympa. Mais pourtant ça marche.
J'ai affiné la procédure dans le commit hg:443ea7c1a4c2 qui intègre votre modification. Ceci devrait enlever l'avertissement.
FWIW Perl fournit une fonction quotemeta, mais je suppose que ça ou "\Q$_\E" est une question de style.
Je n'ai pas le context du patch sous les yeux, mais le print ressemble à du debug qui traîne.
Updated by Alexis Bienvenüe over 10 years ago
Merci pour votre relecture instructive : j'ai corrigé (et appris des choses).
Updated by Akim Demaille over 10 years ago
Alexis Bienvenüe wrote:
Merci pour votre relecture instructive : j'ai corrigé (et appris des choses).
Dans ce cas là, j'en ai une dernière pour vous :) D'une part le $_ est implicite :
$ perl -e 'print map { quotemeta } (".", "|", "\$"), "\n";' \.\|\$\
et d'autre part map admet une syntaxe plus légère pour les noms de fonction :
$ perl -e 'print map(quotemeta, ".", "|", "\$"), "\n";' \.\|\$
Et finalement, grep permet de filtrer les lignes directement depuis un fichier. C'est moins efficace que de sortir au premier match, c'est vrai. Mais si le fichier est court…
$ perl -e 'my $r = join("|", map(quotemeta, ".", "|", "\$")); print grep(/$r/, <STDIN>), "\n";' << EOF 1 . | $ e EOF . | $
($ok = grep... dans votre cas).
Updated by Anirvan Sarkar over 10 years ago
- Target version set to 1.3.0
- Assignee set to Alexis Bienvenüe
- Status changed from Resolved to Closed
Updated by Alexis Bienvenüe over 9 years ago
Je m'aperçois finalement que le correctif rend impossible l'utilisation de textes en italique ou gras (voir _R
.
Ceci n'est pas acceptable.
Voyez-vous une autre manière de résoudre ce problème?
- Status changed from Closed to New
Updated by Akim Demaille over 9 years ago
Salut Alexis,
Alexis Bienvenüe wrote:
Je m'aperçois finalement que le correctif rend impossible l'utilisation de textes en italique ou gras (voir
), car il fixe la version de la police de caractères à utiliser avec le_R
.
Arg, mince… Je n'avais pas remarqué.
Ceci n'est pas acceptable.
Bien sûr.
Voyez-vous une autre manière de résoudre ce problème?
En cherchant un peu, j'ai trouvé ça : http://tex.stackexchange.com/questions/31739/specify-different-fonts-for-bold-and-italic-with-fontspec . Du coup, après un petit `ls` pour voir les fichiers sur ma machine, je propose:
\documentclass{article} \usepackage{fontspec} \setmainfont[ Ligatures=TeX, Numbers=OldStyle, BoldFont={LinLibertine_RB.otf}, ItalicFont={LinLibertine_RI.otf}, BoldItalicFont={LinLibertine_RBI.otf} ]{LinLibertine_R.otf} \begin{document} Testing, 1, 2, 3. \emph{Testing, 1, 2, 3.} \textbf{Testing, 1, 2, 3.} \textbf{\emph{Testing, 1, 2, 3.}} \end{document}
Updated by Alexis Bienvenüe over 9 years ago
Est-ce que ça marche en remplaçant le \setmainfont
par le code suivant ?
\usepackage{libertine} \usepackage[T1]{fontenc}
Ou avec
biolinum
au lieu de libertine
?Updated by Akim Demaille over 9 years ago
Alexis Bienvenüe wrote:
Est-ce que ça marche en remplaçant le
\setmainfont
par le code suivant ?
Non : pas d'italique etc.
Ou avec
biolinum
au lieu delibertine
?
Cette fois, oui.
\documentclass{article} \usepackage{biolinum} \usepackage[T1]{fontenc} \begin{document} Testing, 1, 2, 3. \emph{Testing, 1, 2, 3.} \textbf{Testing, 1, 2, 3.} \textbf{\emph{Testing, 1, 2, 3.}} \end{document}
Updated by Joël Brogniart over 9 years ago
Ah, voilà qui permet de résoudre mon problème. Sur mon installation (OS X 10.10.3, AMC @ commit 7fc79da), si j'utilise le fichier source suivant, les parties en gras et italique apparaissent correctement.
# AMC-TXT source # Examen de Truc, session 1, janvier 2015 PaperSize: A4 Lang: FR #OK #Font: Helvetica Font: Linux Libertine O Title: Examen de Truc, session 1, janvier 2015 Presentation: Veuillez répondre aux questions [*ci-dessous*] [_du mieux que vous pouvez_]. * Quelle est la capitale du [*Cameroun*] ? + Yaoundé - Douala - Kribi ** Parmi les nombres suivants, lesquels sont [_positifs_] ? +2 - -2 + 10
Il faudrait que je fasse un peu de nettoyage sur ma machine pour voir quelle est la version de la police qui est prise en compte (celle que j'ai installé dans OS X ou celle installée avec le package TexLive).
Updated by Alexis Bienvenüe over 9 years ago
Comment avez-vous installé la police Linux Libertine ? D'après les références ci-dessus, il semblerait que ce ne soit pas évident de la faire fonctionner avec LaTeX…
Updated by Akim Demaille over 9 years ago
Alexis Bienvenüe wrote:
Comment avez-vous installé la police Linux Libertine ? D'après les références ci-dessus, il semblerait que ce ne soit pas évident de la faire fonctionner avec LaTeX…
C'est pas clair auquel d'entre nous vous parlez. Au cas où :
$ port provides /opt/local/share/texmf-texlive/tex/latex/libertine/TS1LinuxLibertineT-TLF.fd /opt/local/share/texmf-texlive/tex/latex/libertine/TS1LinuxLibertineT-TLF.fd is provided by: texlive-fonts-extra
Updated by Joël Brogniart over 9 years ago
Alexis Bienvenüe wrote:
Comment avez-vous installé la police Linux Libertine ? D'après les références ci-dessus, il semblerait que ce ne soit pas évident de la faire fonctionner avec LaTeX…
Je suppose que c'est pour moi. Je viens juste de voir la question.
J'ai installé la police dans le dossier /Library/Fonts
(voir Installation_d'AMC_sous_OS_X) pour qu'elle soit bien prise en compte.
Updated by Alexis Bienvenüe almost 9 years ago
- Status changed from New to WontFix