Константы, перечисленные в HtmlTags
, на самом деле являются мешаниной тегов HTML, свойств и значений HTML и CSS, и иногда бывает сложно определить, что использовать.
В вашем случае попробуйте HtmlTags.SIZE
вместо HtmlTags.FONTSIZE
, и вы получите то, что хотите.
EDIT
Я никогда не видел хорошего учебника о том, что и для чего делают свойства, обычно я просто иду прямо к исходному коду. Например, в классе ElementFactory
есть метод с именем GetFont()
, который показывает, как анализируется информация о шрифте. В частности, в строке 130 (редакции 229) вы увидите, где используется HtmlTags.SIZE
. Однако фактическое значение для размера анализируется в ChainedProperties
в методе, называемом AdjustFontSize()
. Если вы посмотрите на него, то увидите, что сначала он ищет значение, которое заканчивается на pt
, например 12pt
. Если он обнаруживает это, он сбрасывает pt
и анализирует число буквально. Если он не заканчивается на pt
, он переходит к HtmlUtilities
к методу, называемому GetIndexedFontSize()
. Этот метод ожидает либо значения, такие как +1
и -1
для относительных размеров, либо просто целые числа, такие как 2
для индексированных размеров. Согласно спецификации HTML пользовательские агенты должны принимать значения от 1 до 7 для размера шрифта и отображать их в постепенно увеличивающемся списке размеров шрифта. Это означает, что ваше значение 9f
на самом деле не является допустимым значением для передачи, вам, вероятно, вместо этого следует передать 9pt
.
В любом случае, вы наполовину прыгаете в источнике, чтобы выяснить, что и где анализируется.