Sep. 28th, 2009

baramin: (Default)
Как говориться, "тише дети, это интересно!"

Не открою секрета (ибо о том судачит JavaDoc), что фонты в J бывают физические и логические.
Логические - всюду (на всех платформа) плюс-минус одинаковы (это почти статистика, кто не понял),
а физические - базируются на том, что бог послал на текущей тачке.
Грусть в том, что логических фонтов до обидного мало - всего 5, а физические есть, и их много, но...
Иероглифов и урду в них нет.

Что делать честному программеру, если CSS отчаянно желает Verdana и он кагбэ есть, но то, что им
пытаются озвучить пару сток во славу сакэ (типа эпиграф) на языке оригинала превращает оный в
последовательность любимых глифов - рамка в параллельную вселенную (эпитафию)?!

Умные головы дают ответ.

Мало того, что вам никто не даст не позволит корежить священный JDK, это уже и не работает.

Ответ есть и он прост:

           Font ft = sun.font.FontManager.getCompositeFontUIResource(new Font("Verdana", Font.PLAIN, 16));

Ho помни!
1. Falllback даст тебе недостающие глифы из "Dialog" - не худший, но и не лучший вариант для CSS, где, как правило,
дают целый список фонтов для последовательных попыток.
2 и главное Font ft1 = new Font (ft) fallback обнулит.

Тем, для кого 1 - критично, отправляются к открытым кодам JDK 7 - там моло что поменялось и рефлекшен вам в помощь.
2 фикситися очевидно :)

 


March 2017

S M T W T F S
   1234
567 891011
12131415161718
19202122232425
262728293031 

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 3rd, 2025 05:12 pm
Powered by Dreamwidth Studios