2011-11-04 16 views
12

さまざまなフォントからグリフをオーバーレイしようとしていますが、整列させるのは難しいです。私は彼らがこれよりも整列すべきだと確信しています。どうやってやるの?私はそれらを選択しているここで、私はそれらを描くしたい -グリフが同じグラフィックス内にある場合、グリフが並んでいないのはなぜですか?

Graphics[ 
    {Opacity[0.1], 
     {Text[Style["a", FontFamily -> "Helvetica", 240]], 
     Text[Style["a", FontFamily -> "Arial", 240]]} 
    }] 

はまた、私はアウトラインを描くに興味があります。

Screenshot

編集:ありがとう!異なるフォントの世界へようこそ、あなたの最初の質問については

Manipulate[ 
Graphics[{{{Opacity[opacity], 
    Text[Style["Greats", Red, FontFamily -> "Helvetica", 180], {0, 
     0}, {Center, Baseline}]}, {Opacity[1 - opacity], 
    Text[Style["Greats", Blue, FontFamily -> "Arial", 180], {0, 
     0}, {Center, Baseline}]}}}], {opacity, 0.1, 1, 0.1}] 

Screenshot

答えて

10

デフォルトでは、テキストはある点に(水平方向および垂直方向に)センタリングされ、フォントの高さが異なる文字が使用され、シフトされたテキストが表示されます。

Graphics[{Opacity[ 
    0.1], {Text[ 
    Style["a", FontFamily -> "Helvetica", 240], {0, 0}, {Center, 
    Bottom}], 
    Text[Style["a", FontFamily -> "Arial", 240], {0, 0}, {Center, 
    Bottom}]}}] 

enter image description here

:それは保証決してですが、あなたがエッジに沿ってテキストを配置した場合

Graphics[{Opacity[ 
    0.1], {Text[ 
    Style["agÄ", FontFamily -> "Helvetica", 240, 
    Background -> RGBColor[0.8, 0, 0, 0.2]]], 
    Text[Style["agÄ", FontFamily -> "Arial", 240, 
    Background -> RGBColor[0, 0, 0.8, 0.2]]]} 
    }] 
Graphics[{Opacity[ 
    0.1], {Text[ 
    Style["agA", FontFamily -> "Helvetica", 240, 
    Background -> RGBColor[0.8, 0, 0, 0.2]]], 
    Text[Style["agA", FontFamily -> "Arial", 240, 
    Background -> RGBColor[0, 0, 0.8, 0.2]]]} 
    }] 

enter image description here

が、それはあなたのために良い仕事かもしれません:たとえば、次の比較

`Baseline`の代わりに、`垂直方向にオフセット用Bottom`がより良い仕事かもしれませんを使用して

Graphics[{Opacity[ 
    0.1], {Text[ 
    Style["a", FontFamily -> "Helvetica", 240], {0, 0}, {Center, 
    Baseline}], 
    Text[Style["a", FontFamily -> "Arial", 240], {0, 0}, {Center, 
    Baseline}]}}] 

enter image description here

+9

:平家によって示唆されているように。 – Heike

+0

@Heike特にこの設定は文書化されていないため、良い点です。 (私が答えを出す前にこれを少し調べましたが、 'Text'文書でそれを見つけられませんでした) –

+0

この設定を' BaseLine'文書に使用した例があります。 – Heike

4

:私がしようとしていたものを、あなたの助けを借りて、私はのほとんどを達成することができました。彼らは異なる測定基準を持っており、それはまさにその方法です。 OverlayまたはImagePaddingのようなグラフィックスオプションの1つを使用して、もう一方を上下に移動できます。

​​の2番目の「きちんとした例」は、ExportStringImportStringを使ってこれを行う方法を示しています。

関連する問題