[R] unicode&pdf font problem RESOLVED
tdenes at cogpsyphy.hu
tdenes at cogpsyphy.hu
Thu Jan 13 16:17:04 CET 2011
Dear David,
Thank you for your efforts. Inspired by your remarks, I started a new
google-search and found this:
http://stackoverflow.com/questions/3434349/sweave-not-printing-localized-characters
SO HERE COMES THE SOLUTION (it works on both OSs):
pdf.options(encoding = "CP1250")
pdf()
plot(1,type="n")
text(1,1,"\U0171")
dev.off()
CP1250 should work for all Central-European languages:
http://en.wikipedia.org/wiki/Windows-1250
Thank you again,
Denes
>
> On Jan 13, 2011, at 7:01 AM, tdenes at cogpsyphy.hu wrote:
>
>>
>> Hi!
>>
>> Sorry for the missing specs, here they are:
>>> version
>> _
>> platform i386-pc-mingw32
>> arch i386
>> os mingw32
>> system i386, mingw32
>> status
>> major 2
>> minor 12.1
>> year 2010
>> month 12
>> day 16
>> svn rev 53855
>> language R
>> version.string R version 2.12.1 (2010-12-16)
>>
>> OS: Windows 7 (English version, 32 bit)
>>
>>
>
> You are after what Adobe calls: udblacute; 0171. It is recognized in
> the list of adobe glyphs:
> > str(tools::Adobe_glyphs[371, ])
> 'data.frame': 1 obs. of 2 variables:
> $ adobe : chr "udblacute"
> $ unicode: chr "0171"
>
> Consulted the help pages
> points {graphics}
> postscript {grDevices}
> pdf {grDevices}
> charsets {tools}
> postscriptFonts {grDevices}
>
> I have tried a variety of the pdfFonts installed on my Mac without
> success. You can perhaps make a list of fonts on your machines with
> names(pdfFonts()). Perhaps the range of fonts and the glyphs they
> contain is different on your machines. I get consistently warning
> messages saying there is a conversion failure:
>
> > pdf("trial.pdf", family="Helvetica")
> # also tried with font="Helvetica" but I think that is erroneous
> > plot(1,type="n")
> > text(1,1,"print \U0170\U0171")
> Warning messages:
> 1: In text.default(1, 1, "print Űű") :
> conversion failure on 'print Űű' in 'mbcsToSbcs': dot substituted
> for <c5>
> 2: In text.default(1, 1, "print Űű") :
> conversion failure on 'print Űű' in 'mbcsToSbcs': dot substituted
> for <b0>
> 3: In text.default(1, 1, "print Űű") :
> conversion failure on 'print Űű' in 'mbcsToSbcs': dot substituted
> for <c5>
> 4: In text.default(1, 1, "print Űű") :
> conversion failure on 'print Űű' in 'mbcsToSbcs': dot substituted
> for <b1>
> 5: In text.default(1, 1, "print Űű") :
> font metrics unknown for Unicode character U+0170
> 6: In text.default(1, 1, "print Űű") :
> font metrics unknown for Unicode character U+0171
> 7: In text.default(1, 1, "print Űű") :
> conversion failure on 'print Űű' in 'mbcsToSbcs': dot substituted
> for <c5>
> 8: In text.default(1, 1, "print Űű") :
> conversion failure on 'print Űű' in 'mbcsToSbcs': dot substituted
> for <b0>
> 9: In text.default(1, 1, "print Űű") :
> conversion failure on 'print Űű' in 'mbcsToSbcs': dot substituted
> for <c5>
> 10: In text.default(1, 1, "print Űű") :
> conversion failure on 'print Űű' in 'mbcsToSbcs': dot substituted
> for <b1>
>
> And this is despite my system saying the \U0170 and \U0171 are present
> in the Helvetica font. Also tried family=URWHelvetica and
> family=NimbusSanand and a bunch of others without success, but my last
> best hope after reading the material in help(postscript) in the
> "Families" section had been NimbusSan. There is also information on
> that page regarding encodings that appears to be very machine specific.
>
>>
>> Note that \U0171 != ü. See
>> http://www.fileformat.info/info/unicode/char/171/index.htm
>> Anyway, I have no problem with ű (~u") and other special
>> Hungarian
>> characters in my R-Gui. It is correctly displayed in the console, in
>> plots, etc. The problem is with the pdf conversion.
>>
>> The same holds for my Ubuntu Hardy Heron system*, with exactly the
>> same
>> error messages as reported in an earlier thread
>> http://www.mail-archive.com/r-help@r-project.org/msg89792.html
>> As far as I know, Hershey fonts do not contain \U0171.
>>
>>
>> Regards,
>> Denes
>>
>> * The specs of Ubuntu:
>>> version
>> _
>> platform x86_64-pc-linux-gnu
>> arch x86_64
>> os linux-gnu
>> system x86_64, linux-gnu
>> status
>> major 2
>> minor 12.0
>> year 2010
>> month 10
>> day 15
>> svn rev 53317
>> language R
>> version.string R version 2.12.0 (2010-10-15)
>>
>>
>>>
>>> On Jan 12, 2011, at 11:11 PM, tdenes at cogpsyphy.hu wrote:
>>>
>>>>
>>>> Dear List,
>>>>
>>>> I would like to print a plot into pdf. The problem is that the
>>>> character
>>>> \U0171 is replaced by a simple 'u' (i.e. without accents) in the pdf
>>>> file.
>>>>
>>>> Example:
>>>> # this works fine
>>>> plot(1,type="n")
>>>> text(1,1,"print \U0171")
>>>>
>>>> # this fails
>>>> pdf("trial.pdf")
>>>> plot(1,type="n")
>>>> text(1,1,"print \U0171")
>>>> dev.off()
>>>
>>> Have you tried:
>>>
>>> pdf("trial.pdf")
>>> plot(1,type="n")
>>> text(1,1,"print ü")
>>> dev.off()
>>>
>>> Your default screen fonts may not be the same as your default pdf
>>> fonts. A lot depends on system specifics, none of which have you
>>> provided.
>>>
>>>
>>>>
>>>> I found an earlier post at
>>>> http://www.mail-archive.com/r-help@r-project.org/msg65541.html, but
>>>> it is
>>>> too hard to understand at my R-level. Any help is appreciated.
>>>
>>>
>>>
>>> David Winsemius, MD
>>> West Hartford, CT
>>>
>>>
>>
>>
>>
>>
>>
>
> David Winsemius, MD
> West Hartford, CT
>
>
More information about the R-help
mailing list