2016-07-22 1 views
1

cairo_pdf()を使用して素敵なフォントでRのプロットを生成しています。私が指定したフォントファミリに賢明に名前が付けられた基本的な重みがある場合、うまく動作します。 「Arial」には、Arial Regular、Arial Bold、Arial Italic、Arial Bold Italicが含まれます。cairo_pdfに太字のスタイルを設定します

しかし、任意のスタイルのフォントを任意に設定する方法はありますか?例えば、Hoefler Textには、Hoefler Text Blackがあります。大胆なテキストにこの重量を使用するようにcairo_pdfを設定できますか?

+0

:いずれにせよ、私は今、正しい検索を行うことができる午前 '名(X11Fonts())'私のマシン上で「Hoeflerテキスト」を起動していないが、それは確かに可能ですあなたのマシンは異なっています。あなたは '?cairo_pdf'と'?X11Fonts'を見直し、アドバイスを提供するために十分な詳細を提供してみませんか?私は「不明瞭」として閉会を断るが、数時間しかない。その後、私はダウンボトムと投票に投票します。 –

+0

私はマシンにHoefler Textをインストールしましたが、私はその文書を読んでいます。 cairo_pdfは家族の単一の名前をとり、どの太さが「太字」であるかを推測します。このドキュメントでは、 'CairoFonts'と同じように 'bold'の優先フォントを明示的に設定する方法は書かれていません。 – jkeirstead

答えて

1

おそらく別のOSを使用していますが、私のMac上では成功しないものの、これがLinuxボックスで成功する可能性があるのでしょうか?フォントスタイルは、Mac固有のアプリケーション、FontBook.appで決定、私はあなたがスタイルの必要な名前を決定する方法にfontforgeまたは類似のアクセス権を持っていることを想像した。:

Cairo::CairoFonts( # for some reason I seem to need the `pkgname::` format 
    regular="Hoefler Text:style=Regular", 
    bold="Hoefler Text:style=Black", 
    italic="Hoefler Text:style=Italic", 
    bolditalic="Hoefler Text:style=Black Italic", 
    symbol="Symbol" 
) 
Cairo::CairoFontMatch("Hoefler Text:style=Black",verbose=TRUE) 
cairo_pdf("test_bold.pdf", family="Hoefler Text") 
    plot(1,1, main=bquote(bold(test~fl~ligature))) 
dev.off() 

出力私のマシン上に表示されます'Hoefler Text'ファミリーに入っていても、そのスタイルは非大胆な呼び出しとまったく違うようには見えません。私は、Linuxマシンがより良い運を持つかもしれないと思っています。

アップデート:私はSOその成分に「Hoefler Text.ttc」(のTrueTypeコレクション)フォントを抽出するために、検索で見つかった「オンラインフォントコンバータ」のいずれかを使用していました。私はそれらを/Library/Fonts/ディレクトリに移動しました。私は、私は非フォントディレクトリにオリジナルのTTCファイルを移動し、私は実行するとR. を再起動Cairo::CairoFontMatch("HoeflerText:style=Black",verbose=TRUE)からの出力を見て、そこには、TTCファイルを見ていたことを見た:

cairo_pdf("test_bold.pdf", family="HoeflerText") 
    plot(1,1, main=bquote(bold(test~fl~ligature))); dev.off() 

を...私のPDFビューアで見ると、太字のフォントがタイトルとして表示されます。これが実際にa)Rでフォントを再マッピングした場合、またはb)視聴者が適切な検索を行っていて、cairo_pdfデバイスによって正しい名前が与えられていない場合、私は確信していません。現時点ではコール

> Cairo::CairoFontMatch("HoeflerText:style=Black",verbose=TRUE) 
1. family: "Hoefler Text", style: "Black", file: "/Library/Fonts/HoeflerText-Black.ttf" 
    "Hoefler Text-12:familylang=en:style=Black,黑體,Sort,Sehr fett,Lihava,Noir,Nero,ブラック,두껍게,Zwart,Svart,Preto,Насыщенный жирный,Extrafet,黑体,Negra:stylelang=en,zh-tw,da,de,fi,fr,it,ja,ko,nl,no,pt,ru,sv,zh-cn,es:fullname=Hoefler Text Black:fullnamelang=en:slant=0:weight=0:width=100:pixelsize=12.5:foundry=unknown:hintstyle=3:hinting=True:verticallayout=False:autohint=False:globaladvance=True:file=/Library/Fonts/HoeflerText-Black.ttf:index=0:outline=True:scalable=True:dpi=75:scale=1:charset= |>^1!|>^1!P0oWQ U>w0A|>^1!|>^1!!!!%#lm6Uq{tu}/lr9j#{}!CB!!OoV!/9m> !%J<G!!!)$&olY4 !^^7$ 9;*f! !!!.%!!#&|!!!&S !!!!# !!!1&|>^1!|>^1!|>^1!!)Ib~9R6#i(){NjxJemz#%jg%!!#0GM>RAd#y#fx!!!!5s<..R!!%U3!!![t !!#3H !!!!n  !!#6I;sG44!!!?+!!!%#!!!!X !!#AL  !!!1& !!+lx  P0oWR!!+u{!!!#/  !!+~~ !9PX<!!!!# :lang=aa|av|ay|az-az|ba|be|bg|bi|br|bs|bua|ca|ce|ch|chm|co|cs|cv|da|de|en|es|et|eu|fi|fj|fo|fr|fur|fy|gd|gl|gv|ho|hr|hu|ia|id|ie|ik|io|is|it|kaa|kk|kum|kv|ky|lb|lez|lt|lv|mg|mh|mk|mo|mt|nb|nds|nl|nn|no|nr|nso|oc|om|os|pl|pt|rm|ro|ru|sel|sh|sk|sl|sma|smj|so|sq|sr|ss|st|sv|sw|tg|tk|tl|tn|tr|ts|tt|tyv|uk|uz|vo|vot|wa|wen|xh|yap|zu|an|crh|csb|fil|hsb|ht|jv|kj|ku-tr|kwm|li|mn-mn|ms|ng|pap-an|pap-aw|rn|rw|sc|sg|sn|su|za:fontversion=65536:capability=otlayout\:DFLT otlayout\:cyrl otlayout\:grek otlayout\:latn:fontformat=TrueType:embeddedbitmap=True:decorative=False:namelang=en:prgname=R:hash=sha256\:6ad00ff0335de002e10e0dc0aca8b6282ba3425c3b2f8ce3f0a6fea668d0a711:postscriptname=HoeflerText-Black" 
+0

それはトリックをしたフォントコンバータでした。ありがとう。 – jkeirstead

+0

私たちの共同の経験は、根底にあるメカニズムがTrueTypeコレクションを処理できないと信じさせました。 –

関連する問題