2

GDI +のDrawStringは、Unicodeの上付き文字や下付き文字をレンダリングできないようです。それはそれらを正方形として表示し、スタックしません。

DrawStringを使用して描画

GDIによって描かれた

private void Form1_Paint(object sender, PaintEventArgs e)
{
    String text = "ă̡͈̘̠͕̺̯̖̤̺͇̫̗͓̗̤̩̜̩̯̝ͥͪ̍ͯͥ͒ͫ͛ͮ̿ͥ͛́́̈͒ͯ͊̇̿ͪ̓́̋ͨ̌͗̀̾̃ͧ̋͗ͣͦ̑̈̆̚҉̶̸̶̶̷̷̶̸̨̧̧̨̛̛̕͘͘̕͘͜͟͜͜͡͞͠͠͠͏̴̷̴̡̢̀͟͝͠s̸̢̨̥͚̲̝̝̗̤͇͓̫̝͍̥͓̳͕̰̰̙͖̅̾ͨ͗̈́͌̽̋̇ͦ̃͌͌͌̎̃̒̂̆̌ͤ͗̌͂̿̃̋̈́ͦ͂͋͂̽ͪͣ͂ͩ̓̈͆̀͢͜͟͡͠͠͝҉̶̶̧̨̡̧̧̛́́́́̀͘͘̕͢͜͢͢͠͞͠҉́̕͢͝d̵̴̡̡̢̛͙̞̭̲̺̖̯̳̙̞͇͓̖͙̩̩̗̝̮̉̿ͦ͒̓̑̉ͫ̇͒̓̎ͨ̎ͪ̂ͨͨ̿͛͊͛͛͂͐ͭ̄͑̔̄̋̆ͪ̀ͫ͌̉̍́̚̚͘͘͘͟͢͢͞͠͠ͅ҉̴̷̶̶̸̧̢̧̡̢̧̨̛̕͘͘͘͘͘͢͟͡҉f̸̶̵̤̮͚͔̟̮̗̺͖͉̪͔̫͎͓̱̟̰̹̩̈̊ͮͦͯ̅̊ͨ́͊̔ͪ̐ͤ͌̑͋̈́̐͆ͦ̿͌̐̓͐̌͂̅ͩ̄͊͐ͨ̄̄̈́̆̚̚͜͏͏̵̸̧̧̛̛͞͡͡͏̡͘͟͠͏̸̶͏͟͡͞͏̸̡͝͏͠͞͏̴͡͏̢͝";
    e.Graphics.DrawString(text, new Font("Arial Unicode MS", 12), Brushes.Black, 30, 30);
}

TextRendererを使用して描画

TextRendere.DrawTextによって描画されます

TextRenderer.DrawText(e.Graphics, text, new Font("Arial Unicode MS", 12), new Point(30, 30), Color.Black);

Firefoxによって描画されます

ここに画像の説明を入力してください

FireFoxはどのようにしてこれを適切に描画できましたか?

私が使用しているデータ-http://pastebin.com/p5Cp3qUM

4

1 に答える 1

3

TextRenderer.DrawText代わりに電話してみてください。

于 2012-04-22T02:52:22.327 に答える