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

2017-04-08 Thread Jinsong Zhao

On 2017/4/7 23:13, Jeff Newmiller wrote:

I think it is a fundamental characteristic of graphics drivers that output will 
look different in the details... you are on a wild goose chase. Postscript in 
particular has a huge advantage in font presentation over other graphics output 
mechanisms.



I agreed with your opinion on Postscript.

However, as shown in the attached plots in previous post, the glyph 
metric info for any CID-keyed font is based on assumption in R. In fact, 
it's not possible to get the metric info of a CID-keyed font without 
accessing the actual font which may be in truetype or opentype/CFF 
format. And, I don't think R could find the actual font.


Best,
Jinsong

__
R-help@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.


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

2017-04-08 Thread Jinsong Zhao

On 2017/4/7 23:13, Jeff Newmiller wrote:

I think it is a fundamental characteristic of graphics drivers that output will 
look different in the details... you are on a wild goose chase. Postscript in 
particular has a huge advantage in font presentation over other graphics output 
mechanisms.



Well, the problem stems from the MetricInfo of CID-keyed fonts, which 
are intended only for use for the glyphs of East Asian languages, which 
are all monospaced and are all treated as filling the same bounding box. 
(from the help page of CIDFont)


However, is it possible to use the same MetricInfo of CID-keyed fonts as 
that for png() or windows()?


Best,
Jinsong

__
R-help@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.


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

2017-04-07 Thread Jeff Newmiller
I think it is a fundamental characteristic of graphics drivers that output will 
look different in the details... you are on a wild goose chase. Postscript in 
particular has a huge advantage in font presentation over other graphics output 
mechanisms. 
-- 
Sent from my phone. Please excuse my brevity.

On April 7, 2017 1:05:45 AM PDT, 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@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.


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

2017-04-07 Thread Jinsong Zhao

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@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.