Рендеринг Mac Font в [закрывших] окнах

Развертывание в ответе @ goodside:

В некоторых случаях вам может понадобиться наложить строку с нулями (например, коды fips или другие числовые факторы). В OSX / Linux:

> sprintf("%05s", "104")
[1] "00104"

Но поскольку sprintf() вызывает команду C sprintf() ОС, обсуждаемую здесь здесь , в Windows 7 вы получаете другой результат:

> sprintf("%05s", "104")
[1] "  104"

Итак, на машинах Windows работа вокруг:

> sprintf("%05d", as.numeric("104"))
[1] "00104"

7
задан Mateen Ulhaq 7 May 2011 в 22:52
поделиться

7 ответов

GDI ++/FreeType выезда (ссылка, ссылка). Это - высоконастраиваемая представляющая шрифт замена для Windows. С некоторой конфигурацией вывода подсказок, сглаживания, и т.д., необходимо смочь приблизить шрифт стиля OSX, представляющий довольно близко.

9
ответ дан 6 December 2019 в 11:54
поделиться

Не уверенный, если это - установка, но конечно, Safari на рендеринге Windows с помощью алгоритма рендеринга OS X.

3
ответ дан 6 December 2019 в 11:54
поделиться

Brad прав: используйте Safari, если Вы хотите алгоритм рендеринга Mac Font.

Jeff и Joel оба вели блог об этом прежде (не удивительно, примерно в то время, когда Safari был выпущен для Windows), если Вы хотели бы больше деталей:

http://www.codinghorror.com/blog/archives/000885.html

2
ответ дан 6 December 2019 в 11:54
поделиться

Я предполагаю, что требуется быть ablt, чтобы использовать, если глобально, или по крайней мере в IE/Firefox, не только установить Safari как другой предложили.

Назад в дневном жировике Mac OS X был все еще в разработке, был план выпустить платформу Какао для окон, позволить приложениям, записанным в него работать исходно в Windows с тем, чтобы перекомпилировать. Я подозреваю, что набор библиотек окон Cocoa (Желтое Поле не было им?) дал бы Вам рендеринг шрифта стиля Mac OS X, но я не думаю, что он когда-либо выпускался (хотя Вы можете получать очень старые бета-версии его от где-нибудь, и у меня есть чувство, что часть его была так или иначе частью WebObjects или чего-то как этот).

Я подозреваю, что версия для Windows Safari использует внутреннюю версию библиотек Cocoa для Windows, который является, почему это имеет рендеринг шрифта Mac OS X (хотя я полагаю, что недавние ночные сборки, по крайней мере, имеют опцию использовать собственный рендеринг шрифта Windows для тех, кто жаловался на это выглядящий неуместным).

Так или иначе, длинное короткое хранилище, если Вы не собираетесь записать свой собственный рендерер шрифта, я не думаю, что существует любой простой способ сделать это (кроме использования Safari)

1
ответ дан 6 December 2019 в 11:54
поделиться

Кто-то рекомендовал sIFR, но я предполагаю, что это полезно, когда я должен использовать нестандартные шрифты?

sIFR не даст Вам намеченный эффект. Как ClearType Windows, сглаживание Flash (который использует sIFR) оптимизирует к пиксельной сетке, не к точному представлению гарнитуры.

Вы можете использовать Safari, связал библиотеку CoreGraphics, чтобы сделать Ваш рендеринг шрифта, но Вы, вероятно, повредили бы лицензионные соглашения Apple (особенно, после того как Вы пытаетесь поставить свое приложение …).

1
ответ дан 6 December 2019 в 11:54
поделиться

Я пишу приложение на Java, делаю некоторые интересные вещи со шрифтами и работаю с некоторыми графическими дизайнерами, и им нужен тот же тип рендеринга шрифтов, о котором вы говорите. Мне удалось подойти довольно близко, включив дробные метрики, такие как точность размещения субпиксельных глифов и сглаживание, которые являются ключевыми различиями между рендерингом шрифтов Mac и Windows. Выглядит неплохо для больших шрифтов TrueType.

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

g.setFont(new Font("Century Schoolbook", Font.PLAIN, 36));
g.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS,
                   RenderingHints.VALUE_FRACTIONALMETRICS_ON);
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
                   RenderingHints.VALUE_TEXT_ANTIALIAS_ON);

Если бы я только мог понять, как заставить работать шрифты OpenType CFF.

0
ответ дан 6 December 2019 в 11:54
поделиться

Вы можете подождать, пока IE9, который, по-видимому, имеет гораздо лучший рендеринг текста, используя DirectX: http://blogs.msdn.com/ie/archive/2009/11/18/an-early-look-at -ie9-for-developers.aspx

-1
ответ дан 6 December 2019 в 11:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: