# Extracting characters from the new libertine (with pdflatex)

The issue: I need to access e.g. libertine's delta glyph in pdflatex.

This question notes that the \libertineGlyph command is no longer provided by the latest version of the libertine package. It also notes that the replacement libertineotf doesn't work with pdftex. This answer suggests two workarounds (short of installing an older version).

1. Copy the definition of \libertineGlyph from the legacy version of the file.

I cannot get this to work because libertine.sty uses a macro \define. This doesn't seem to be provided when you import the three packages required by libertine, and it isn't a standard command.

2. It suggests using \char instead.

E.g. \char934 doesn't work, presumably for the reasons which JLDiaz explained so clearly in this answer.

I'd be very grateful for a working method.

Edit: I'm specifically looking for a "text" delta rather than a "maths" delta. Cf:

-
I don't think that the fonts for pdflatex make available the glyphs that previously one could get with \libertineGlyph. It's not just a definition problem. –  egreg Dec 10 '12 at 0:01
But one can get those fonts back (for pdfLatex) by installing the old package? –  Mohan Dec 10 '12 at 0:08
Possibly; a very hard task. –  egreg Dec 10 '12 at 0:09
If you only need one glyph, I suggest a dirty “working method”: Compile a minimal example with XeLaTeX, e.g. \documentclass{standalone}\usepackage{libertine}\begin{document}\char934\end{do‌​cument}, and \includegraphics the resulting PDF with pdfLaTeX. –  Qrrbrbirlbel Dec 10 '12 at 0:55
You could still install libertine-legacy in a local texmf tree. –  Speravir Dec 10 '12 at 4:08

Ok, so let me make a rather adventurous proposal. I will assume you have the TeXLive 2012 distribution, as this is the only one I am familiar with.

1. install libertine-legacy in the local texmf tree
2. find the file libertine.sty in texmf-local/tex/latex/libertine-legacy/ and rename it to libertine-legacy.sty (we are not going to use it as it may certainly create havoc with the newer libertine.sty which is in 2012/texmf-dist)
3. find the file libertine.map in texmf-local/fonts/map/dvips/libertine-legacy/ and rename it to libertine-legacy.map
4. go to texmf-local/web2c and add the line Map libertine-legacy.map to the file updmap.cfg (you may have to create that file)
5. run texhash on the repertory texmf-local
6. run updmap-sys or updmap depending on your previous habits (I personally only and exclusively use updmap-sys)

You are now ready to access the Greek glyphs from the legacy libertine type-1 fonts in the following manner:

\documentclass{article}

%% the next two lines are for the *new* libertine
\usepackage[T1]{fontenc}
\usepackage{libertine}

%% these next lines are for the *legacy* libertine, especially the Greek glyphs
\begingroup
\makeatletter
\newcommand*\DeclareTextGlyphX[5]{%
% \DeclareTextGlyphX{fxl}{U}{fxla7}{uniA7F1}{241}
% #1=basefont #2=encoding #3=fontfamily #4=glyphname, #5=position
\global\@namedef{legacy#1#4}{{\fontfamily{#3}\fontencoding{#2}\selectfont\char#5\relax}}}
\input{fxl.inc}
\endgroup

\begin{document}

\legacyfxldelta

\legacyfxlDelta

\end{document}


The files of my version of the legacy package are dated from December 2011. I hope this is the latest version, and that there has not been in the meantime changes in the font names in the legacy thing.

Let me insist that what I describe here does not replace the new libertine with the libertine-legacy. Both need to be installed: the new one in your main tree, the legacy one in the local tree. And you need to change the names of the legacy .sty and .map files as indicated, and then don't forget to do texhash and updmap-sys.

-
This looks interesting. If the newtx approach below doesn't play out, I'll definitely chase it up. (Though manual installation is a bit fiddly in MiKTeX.) –  Mohan Dec 10 '12 at 19:15
@Mohan: What do you mean with “fiddly”? See Stefan Kottwitz’ answer to How can I manually install a package on MiKTeX (Windows) and follow steps 1–3 of jfbu. For steps 4–6 above see How to install MathTime Pro 2 fonts on MikTeX, though some steps there are redundant. –  Speravir Dec 12 '12 at 1:27
@Mohan Update: Manual font installation. –  Speravir Apr 27 '13 at 2:29

The latest version of libertine (2012-12-07) does support Glyph commands but only for xeLaTeX and luaLaTeX users. To get a glyph like delta, I suggest using newtxmath with the libertine option.

Update: It seems that the newtx package was improperly installed by MiKTeX. As a stopgap, you can edit the system updmap.cfg to change ntx.map to newtx.map and execute

initexmf --mkmaps


Then the libertine option of newtxmath will work and $\updelta$ will generate the desired upright delta. But the next update of MikTeX will likely clobber your edit (until they fix the problem). The problem is not in libertine itself but in MikTeX.

-
That's a nice idea, but I'm specifically looking for the text delta, rather than the math delta. I've add a relevant image to the post. And presumably if I load newtxtext, it will overwrite libertine? –  Mohan Dec 10 '12 at 17:29
@Mohan: no image posted. Libertine has only one delta glyph and the libertine option of newtxmath is supposed to use it. But I've tested this and it doesn't seem to work. I'm consulting the newtxmath maintainer. –  user22108 Dec 10 '12 at 17:41
The image is at the end of my post. (Can't put them in comments AFAIK.) –  Mohan Dec 10 '12 at 18:29
@Mohan: As I suggested but use \updelta: –  user22108 Dec 10 '12 at 18:41
I get > The rfxlr-alt source file could not be found. >!pdfTeX error: pdflatex.exe (file rfxlr-alt): Font rfxlr-alt at 600 not found –  Mohan Dec 10 '12 at 19:10