Как создать шрифт с помощью CGFontCreateWithFontName? - PullRequest
1 голос
/ 22 января 2009

Я хочу иметь больший контроль над тем, как и когда шрифты загружаются и освобождаются, поэтому я заинтересован в том, чтобы заставить CGFontCreateWithFontName () работать.

GContextRef ctx = UIGraphicsGetCurrentContext();
CGContextSelectFont(ctx, "Georgia", 20.0, kCGEncodingMacRoman);
// DRAWING WITH CGContextShowTextAtPoint() IS WORKING...

GContextRef ctx = UIGraphicsGetCurrentContext();
CGFontRef fontRef = CGFontCreateWithFontName((CFStringRef)@"Georgia");
CGContextSetFont(ctx, fontRef);
CGContextSetFontSize(ctx, 20.0);
// DRAWING WITH CGContextShowTextAtPoint() IS NOT WORKING...

Есть подсказка, что не так со 2-м блоком?

1 Ответ

3 голосов
/ 07 февраля 2009

Взгляните на документацию :

Кварц использует данные шрифта, предоставленные Apple Type Services (ATS), для отображения каждого байта массива через вектор кодирования текущего шрифта для получения глифа для отображения. Обратите внимание, что шрифт должен быть установлен с помощью CGContextSelectFont. Не используйте CGContextShowTextAtPoint вместе с CGContextSetFont .

Вместо этого вы хотите использовать CGContextSelectFont .

...