Я ищу свойство в файле шрифта (либо из WPF System.Windows.Media.Fonts
Typeface
или GlyphTypeface
) или прямой доступ к файлу .ttf / .otf, который позволит мне определить, если такая программа, как Write / WordPad в Windows к шрифту будет применен жирный шрифт. По сути, некоторые шрифты с атрибутом Bold все равно получат дополнительную жирность, а некоторые нет. Я' я пытаюсь выяснить, какая логика используется для этого определения.
Чтобы увидеть это вручную, скопируйте и вставьте следующее в Write / WordPad (или OOo Writer, или MS Word или ...) и измените каждую строку лицевой стороной к названию (например, примените Arial Black к Arial Black)
Теперь примените к ним жирный шрифт. Вы увидите изменения №2 и №3, но не №1.
Однако с №3 изменится происходит, чем два других - все вместе разные шрифты применяется. А именно ARIALNB .TTF ('NB' добавлен, то есть Arial Narrow Жирным шрифтом ) вместо ARIALN.TTF ('N' прилагается, то есть Arial Narrow ). Так в случае этого шрифта жирный шрифт не фактически применяется.
Вернуться к списку. №1 не меняется, но №2 меняется. Вес №1 - «Черный», а №2 - «Жирный». Если вы возьмете жирную версию # 3, ARIALNB.TTF , и примените к ней жирный шрифт, она будет действовать как # 1 - она не изменится. Но у него такой же вес, как у №2, у «Полужирный».
Другими словами, два жирных шрифта (Arial Rounded MT Bold и Arrow Narrow Bold), но только Arial Rounded MT Bold имеет более жирный шрифт. В случае с Arial Black, у него нет жирного шрифта, но к нему все еще не добавлен жирный шрифт.
Вот как это выглядит:
Интересно, что WPF не демонстрирует этого поведения (т.е. добавляет жирный шрифт), но Silverlight делает:
<StackPanel Orientation="Vertical">
<TextBlock FontSize="24" Text="Arial Rounded MT Bold" FontFamily="Arial Rounded MT"/>
<TextBlock FontSize="24" Text="Arial Rounded MT Bold" FontWeight="Black" FontFamily="Arial Rounded MT"/>
</StackPanel>
<StackPanel Orientation="Vertical">
<TextBlock FontSize="24" FontFamily="Arial Rounded MT Bold" >Arial Rounded MT Bold</TextBlock>
<TextBlock FontSize="24" FontFamily="Arial Rounded MT Bold" FontWeight="Bold" >Arial Rounded MT Bold</TextBlock>
</StackPanel>
Возникает вопрос: Какое свойство файла шрифта указывает программе добавлять жирный шрифт или нет? Я ищу флаг или свойство в файле шрифта, которое подскажет мне эту логику.
Вот список других шрифтов, для которых применение «Полужирного» не имеет никакого эффекта: - Adobe Caslon Pro Bold - Adobe Garamond Pro Bold - Энди - Arial Black - Bell Gothic Std Черный - Bell Gothic Light Черный - Berlin Sans FB Demi - Blackoak Std - Бодони МТ Черный - Charlemagne Std - Миньон Про Конд - Муар ExtraBold - Myriad Pro Light - Тополь стандарт - Prestige Elite Std. - Роквелл экстра жирный - Скрипт MT Bold - Segoe WP черный - Tekton Pro Ext - Стандартный трафарет