Каковы канонические веса шрифта в основном тексте?

Как GDI, так и У Pango есть список канонических весов шрифтов, которые входят в диапазон «тонкий, очень легкий, легкий, нормальный, средний, полужирный, жирный, очень жирный, тяжелый». Похоже, CSS тоже.

Однако я не вижу такого списка шрифтов для основного текста (или даже NSFont/NSFontDescriptor) в OS X. Вместо этого я вижу следующее:

  • kCTFontWeightTrait, который задокументирован как изменяющийся от -1,0 до 1,0, где 0,0 означает «обычный или средний» (то есть и нормальный, и средний, или просто средний?), и
  • -[NSFontManager fontWithFamily:traits:weight:size:], чей параметр веса задокументирован как изменяющийся от 0 до 15, где 5 означает нормальный/книжный (что, как я полагаю, находится между легким и нормальным, если не нормальным), а 9 и выше выделены жирным шрифтом.

Итак, каковы эквиваленты приведенных выше канонических имен веса? Спасибо.


person andlabs    schedule 14.09.2015    source источник


Ответы (1)


Канонические названия приведены в заголовках:

APPKIT_EXTERN const CGFloat NSFontWeightUltraLight NS_AVAILABLE_MAC(10_11);
APPKIT_EXTERN const CGFloat NSFontWeightThin NS_AVAILABLE_MAC(10_11);
APPKIT_EXTERN const CGFloat NSFontWeightLight NS_AVAILABLE_MAC(10_11);
APPKIT_EXTERN const CGFloat NSFontWeightRegular NS_AVAILABLE_MAC(10_11);
APPKIT_EXTERN const CGFloat NSFontWeightMedium NS_AVAILABLE_MAC(10_11);
APPKIT_EXTERN const CGFloat NSFontWeightSemibold NS_AVAILABLE_MAC(10_11);
APPKIT_EXTERN const CGFloat NSFontWeightBold NS_AVAILABLE_MAC(10_11);
APPKIT_EXTERN const CGFloat NSFontWeightHeavy NS_AVAILABLE_MAC(10_11);
APPKIT_EXTERN const CGFloat NSFontWeightBlack NS_AVAILABLE_MAC(10_11);

Чтобы узнать их значения, просто запишите каждое из них по очереди.

NSLog(@"%f", NSFontWeightUltraLight);
NSLog(@"%f", NSFontWeightThin);
// ... need I go on?
person matt    schedule 14.09.2015
comment
О, аккуратно. Какой это заголовок? Я полностью пропустил это, когда смотрел сегодня утром ›////› - person andlabs; 14.09.2015
comment
О, подождите, я только что понял, почему пропустил это: у меня есть только заголовки 10.10:/ Удивлен, что они были добавлены только сейчас... - person andlabs; 14.09.2015
comment
Я думаю, до сих пор не было канонических весов. - person matt; 14.09.2015
comment
Да, это подтверждает это. Спасибо! Поскольку мне нужно работать на 10.7 и выше, я просто получу значения констант из коробки 10.11 и переключусь на прямое использование констант, если мои требования когда-либо изменятся. - person andlabs; 14.09.2015