Hello,

Thank you, the updated hack worked, even with the margin kerning activated.
So for this to work, I have :
In the preamble
> \catcode"2019=\active
> \def’{\leavevmode \kern 1sp \hbox{\char"2019}}
Active margin kerning.
All upright ' replaced by true apostrophes in the text.

What really strikes me as weird is that when tex-text mapping and your hack 
were commented BUT upright apostrophes replaced by true apostrophes in the 
source, I still get upright apostrophes in the PDF with margin kerning.
To Peter Dyballa, I don't really know which unicode character is used, but the 
difference with a straight and a true aopstrophe is easily visible (even in the 
image exemple I posted).




Le 31 oct. 2010 à 23:19, John Was a écrit :

> 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




--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
  http://tug.org/mailman/listinfo/xetex

Reply via email to