[R] Can fallback font be specified?
jszhao at yeah.net
Sun Mar 26 16:09:50 CEST 2017
I have searched the google, however, I don't find anything that related
with fallback font in R.
I also try to read the source code of R, however, I am not familiar with
C and the algorithm about font specific in text/plot.
Thus, I try to specify different fonts for Latin and non-latin
characters. I try to use expression():
plot(1:10, xlab = "")
mtext(expression(phantom(Hello)*\u4F60\u597D), side = 1, family = "SimSun")
mtext(expression(Hello*phantom(\u4F60\u597D), side = 1, family = "serif")
However, "Hello" in Simsun has a different strwidth with that in serif.
Thus, there are more space between Hello and \u4F60\u597D than it should be.
The other way is to merge a Latin font, such as Times New Roman with a
non Latin font, such as SimSun. There are several fontforge scripts for
the purpose. However, there will cause fontforge core dump. I don't have
chance to test it.
Will the R core team or someone response to it, if I filed a wishlist in
On 2017/3/23 22:24, Jinsong Zhao wrote:
> Hi there,
> I am a Chinese R user. I hope to plot the following code with Chinese in
> one font family, such as SimHei, but English in another font family,
> such as Times New Roman.
> plot(1:10, type = "n", xlab = "Hello \u4F60\u597D", family = "serif")
> In my case, the system default font is "SimSun", so the above code
> fallback "\u4F60\u597D", which is not in the font Times, to SimSun.
> If I use:
> plot(1:10, type = "n", xlab = "Hello \u4F60\u597D", family = "SimHei")
> Then The "Hello" will in "SimHei" family, it's not as beautiful as Times.
> Is it possible to specify the fallback font family in R? Any hints or
> Thanks in advance.
> platform x86_64-w64-mingw32
> arch x86_64
> os mingw32
> system x86_64, mingw32
> major 3
> minor 3.3
> year 2017
> month 03
> day 06
> svn rev 72310
> language R
> version.string R version 3.3.3 (2017-03-06)
> nickname Another Canoe
>  "LC_COLLATE=Chinese (Simplified)_China.936;LC_CTYPE=Chinese
> (Simplified)_China.936;LC_NUMERIC=C;LC_TIME=Chinese (Simplified)_China.936
More information about the R-help