[R] unicode&pdf font problem RESOLVED
Sascha Vieweg
saschaview at gmail.com
Thu Jan 13 16:41:41 CET 2011
I have many German umlauts in my data sets and code them UTF-8.
When it comes to plotting on pdf, I figured out that "CP1257" is a
good choice to output Umlauts. I have no experiences with
"CP1250", but maybe this small hint helps:
pdf(file=paste(sharepath, "/filename.pdf", sep=""), 9, 6,
pointsize = 11, family = "Helvetica", encoding = "CP1257")
*S*
On 11-01-13 16:17, tdenes at cogpsyphy.hu wrote:
> Date: Thu, 13 Jan 2011 16:17:04 +0100 (CET)
> From: tdenes at cogpsyphy.hu
> To: David Winsemius <dwinsemius at comcast.net>
> Cc: r-help at r-project.org
> Subject: Re: [R] unicode&pdf font problem RESOLVED
>
>
> 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
>>
>>
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
--
Sascha Vieweg, saschaview at gmail.com
More information about the R-help
mailing list