[R] [FORGED] difference metric info of same font on different device

Paul Murrell paul at stat.auckland.ac.nz
Mon Apr 10 04:06:53 CEST 2017


Hi

I think you are hitting the limit of what R's PostScript device can do 
with CID fonts (particularly with Latin characters).

Have you tried the cairo_ps() device ?

Paul

On 7/04/2017 8:05 p.m., Jinsong Zhao wrote:
> Hi there,
>
> I try to plot with custom fonts, which have good shape Latin and CJK
> characters. I set up all the fonts correctly. However, when I plot the
> same code on png() and postscript(), I get different result. The main
> problem is the space between characters is narrower in postscript() than
> that in png(), and some character also overlap in postscript().  You can
> see the differences from the attached png files.
>
> Is there any way to get the same plot using postscript() and png()?
> Thanks in advance.
>
> Best,
> Jinsong
>
> The code I used is here:
>
> windowsFonts(song = windowsFont("SourceHanSerifSC-Regular"),
>              hei  = windowsFont("SourceHanSansSC-Regular"),
>              hwhei  = windowsFont("SourceHanSansHWSC-Regular"),
>              fzsong  = windowsFont("FZShuSong-Z01"),
>              fzhei = windowsFont("FZHei-B01"))
>
> postscriptFonts(song = CIDFont("SourceHanSerifSC-Regular",
> "UniSourceHanSerifCN-UTF8-H", "UTF-8", ""),
>                 hei  = CIDFont("SourceHanSansSC-Regular",
> "UniSourceHanSansCN-UTF8-H", "UTF-8", ""),
>                 hwhei  = CIDFont("SourceHanSansHWSC-Regular",
> "UniSourceHanSansHWCN-UTF8-H", "UTF-8", ""),
>                 fzsong  = CIDFont("FZShuSong-Z01",    "GBK-EUC-H",
> "GBK", ""),
>                 fzhei = CIDFont("FZHei-B01", "GBK-EUC-H", "GBK", ""))
>
> fa <- c("sans", "serif", "song", "hei", "hwhei", "fzsong", "fzhei")
>
> postscript("font.eps", fonts = fa, onefile = FALSE, width = 4, height =
> 4, horizontal = FALSE)
>
> #png("font.png", width=4*300, height=4*300, res =300)
>
> plot(0,xlab="",ylab="",type="n")
> text(1, -0.75, expression(CO[2]-Hei), family = "hei")
> text(1, -0.5, expression(CO[2]-HWHei), family = "hwhei")
> text(1, -0.25, expression(CO[2]-FZHei), family = "fzhei")
> text(1, 0.0, expression(CO[2]-Sans), family = "sans")
> text(1, 0.25, expression(CO[2]-FZSong), family = "fzsong")
> text(1, 0.5, expression(CO[2]-Song), family = "song")
> text(1, 0.75, expression(CO[2]-Serif), family = "serif")
>
> dev.off()
>
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>

-- 
Dr Paul Murrell
Department of Statistics
The University of Auckland
Private Bag 92019
Auckland
New Zealand
64 9 3737599 x85392
paul at stat.auckland.ac.nz
http://www.stat.auckland.ac.nz/~paul/



More information about the R-help mailing list