Hello Pierre
I'm sorry to say that I can't help with the marginal kerning - I've never
investigated that facility in TeX since the output I get without it has
always seemed OK (to my eye) in the work I do. What seems to be happening
is that the TeX mapping is being ignored by the package that deals with the
marginal kerning, so when in the \active hacks that I sent you the true
apostrophe is being replaced by the upright ', the package is giving you the
latter instead of switching it to the correct typographical sort as your TeX
mapping specifies. I'm sure those maintaining the package will be able to
come up with some proper solution, but in the meantime you could try
bypassing the TeX mapping for apostrophes and closing quotation marks by
using the correct Unicode characters (as I think you have already done with
the single quotation mark/apostrophe).
In spite of my misgivings about using an active character in the definition
of that very same character, the following does seem to work without causing
processing errors:
\catcode"2019=\active
\def’{\leavevmode \kern 1sp \hbox{\char"2019}}
\catcode"201D=\active
\def”{\leavevmode \kern 1sp \hbox{\char"201D}}
Try that instead of my previous four lines of code and see what happens!
John
----- Original Message -----
From: "Pierre Morel" <pier.mo...@gmail.com>
To: "Unicode-based TeX for Mac OS X and other platforms" <xetex@tug.org>
Sent: 31 October 2010 18:14
Subject: Re: [XeTeX] Several apostrophe-related problems (kerning, mapping)
Thank you John, your hack indeed solves the problem when U+0027 apostrophes
are replaced with U+2019 apostrophes (I did not try to make U+0027 active)
and when the margin kering is not activated.
However, replacing U+0027 with U+2019 apostrophes showed that the
margin-kerning bug is not due to the tex-text mapping : even when the
apostrophes are U+2019 in the source file, they are replaced by U+0027
apostrophes in the PDF !! And this only for the font for which margin
kerning is activated.
Any ideas on this last problem ?
Le 31 oct. 2010 à 16:32, John Was a écrit :
Hello
I can't help with the marginal kering (which I don't use), but here is
what I do in a font that also had overtight kerning associated with
apostrophes:
\catcode"2019=\active
\def’{\leavevmode \kern 1sp \hbox{'}}
\catcode"201D=\active
\def”{\leavevmode \kern 1sp \hbox{''}}
Note that the characters in the \hboxes are the ordinary straight
apostrophe (since I also use TeX mapping in my font calls.)
As it stands, this would involve you actually using the correct Unicode
characters 2019 and 201D for closing single and double apostrophes in your
document, in spite of your tex-mapping - and I guess you could achieve
this by global search-and-replace in your file. But you may be able to
do much the same thing by making 0027 active instead (I haven't tried
that - I can see a potential danger of a loop if you are using 0027 to
define itself).
I'm sure there are more elegant solutions - and I use plain TeX so there
may be LaTeX issues that I don't know about.
(Of course, if my request for custom kerning could be met, we would all be
able to refine the kerning of any font at will. Unfortunately, someone in
another thread explained that that is very difficult in XeTeX because of
the way it looks up font information (LuaTeX can do it because it has
another method of accessing the font's tables). I was rather hoping that
someone would see that as an opportunity to show off hrs computing prowess
by performing the miracle - but this hasn't happened yet.)
John
----- Original Message ----- From: "Pierre Morel" <pier.mo...@gmail.com>
To: "Unicode-based TeX for Mac OS X and other platforms" <xetex@tug.org>
Sent: 31 October 2010 15:02
Subject: [XeTeX] Several apostrophe-related problems (kerning, mapping)
Hello,
My thesis is finished soon, but I have an annoying apostrophe problem.
In French we have a lot of apostrophes uses like this : L'œil,
l'incertitude, etc.
In theory, these apostrophes should be the unicode character U+2019 (right
single quotation mark) instead of a straight apostrophe (U+0027). This
replacement is automatically made by this command :
\defaultfontfeatures{Mapping=tex-text}
First there is a problem with the kerning of this U+2019 character, it is
possibly a bug in the font I'm using (Adobe Caslon Pro), but I'd like to
solve it anyway.
Here is an example (The word L'œil, on the top right) :
http://dl.dropbox.com/u/1205127/Images/xetex.jpg
The apostrophe is completely kerned above the "œ" (the same problem is
present for any small character), which thus touches the "L".
So my first question is: is there a way to override the default kerning of
this U+2019 character so that it behaves in a more correct way (with a
slight space between the apostrophe and the next letter) ?
Now there is a second problem (which solved the first one but in a bad
way).
When activating margin kerning, xetex behaves as if the line
\defaultfontfeatures{Mapping=tex-text} was not present : U+0027
apostrophes stay straight (which curiously solves the kerning problem, see
the example on the top left of the image), and `` and '' are not converted
appropriately (more annoying).
Here is what I use for the margin kerning (when I comment these line, the
mapping problem is corrected) :
\newcount\countA
\ifx\XeTeXprotrudechars\undefined
\pdfprotrudechars=2
\else
\let\pdftexversion=\countA
\pdftexversion = 140
\XeTeXprotrudechars=2%\fi
\input protcode-native
\font\f="Adobe Caslon Pro" at 11pt \f
\setprotcode\f
\pretolerance=-1
\tolerance=9999
\emergencystretch=2em
With the file protcode-native file being
\def\setprotcode#1{
\rpcode#1 U"0021 55
\rpcode#1 U"002C 194
\rpcode#1 U"002D 233
\rpcode#1 U"002E 194
\rpcode#1 U"003B 138
\rpcode#1 U"003A 138
\rpcode#1 U"003F 94
\lpcode#1 U"2018 194
\rpcode#1 U"2019 194
\rpcode#1 U"0027 194
\lpcode#1 U"201C 250
\rpcode#1 U"201D 250
\rpcode#1 U"2013 150
\rpcode#1 U"2014 200
}
So, in short, I want to use margin kerning while maintaining the tex-text
mapping AND having a correct kerning with the U+2019 apostrophe.
PS: (this last problem also appears on my sans serif font (Myriad pro), an
example is visible in the linked image.
Thank you,
Pierre
--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
http://tug.org/mailman/listinfo/xetex
--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
http://tug.org/mailman/listinfo/xetex
--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
http://tug.org/mailman/listinfo/xetex
--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
http://tug.org/mailman/listinfo/xetex