нет немецкого умлаута в CGBitmapContext - PullRequest
0 голосов
/ 01 июня 2011

у нас есть проблема с перемещением текста с помощью немецкого умлаута с помощью функции "ShowTextAtPoint" в CGBitmapContext.Символы умляута не отображаются.Кто-нибудь есть идеи для обхода?

спасибо за ответ, Фрэнк

Ответы [ 2 ]

1 голос
/ 09 марта 2012

Вы также можете использовать escape-последовательности, чтобы заставить его работать:

см. Эту страницу для символов, которые вы хотите: http://en.wikipedia.org/wiki/Mac_OS_Roman

"\ x80, \ xE8, \ xEC, \x85, \ x86 "даст прописные гласные в следующем порядке: A, E, I, O, U с умлаутом

" \ x8A, \ x91, \ x95, \ x9A, \ x9F "даст строчные буквыгласные по порядку: a, e, i, o, u с umlaute

MacRoman содержит символы, которые вам были нужны, поэтому вам не нужно использовать UIKit, если вы предпочитаете работать в CoreGraphics.

1 голос
/ 19 августа 2011

Проблема в том, что API CoreGraphics для CGContext не поддерживают рендеринг кода UTF8, он ограничен кодировкой текста в MacRoman (как показано в примере).

Исправлено использование функций UIKitвместо этого вы можете изменить свой код так:

UIGraphics.PushContext (mBmpContext);
mBmpContext.SetRGBFillColor(1f,1f,1f,1f);
var font = UIFont.FromName ("Arial", 30);
using (var nsstr = new NSString ("äöü ÜÖÄ")){
    nsstr.DrawString (new PointF (10, 400), font);
}
UIGraphics.PopContext ()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...