Это, похоже, ошибка со стороны валидатора Open XML, которую вы можете игнорировать. Если вы посмотрите на спецификацию элемента w: rPr , то w:rFonts
явно является допустимым дочерним элементом w:rPr
. Если вы открываете документ в Word (как намекнул Синди), и Word не жалуется, у вас все в порядке.
Как также отметила Синди, в вашем определении стиля есть проблема, связанная с использованием Heading 1
в качестве стиля. имя. Поскольку имя встроенного стиля - heading 1
(обратите внимание на строчную букву «h»), это будет работать даже на уровне Open XML (но вы можете не увидеть свое точное имя стиля в Word, поскольку Word будет использовать «Заголовок» 1 "как отображаемое имя, по крайней мере, если ваш язык отображения - Engli sh). Однако Word изменит ваше значение w:styleId
(в вашем примере это «33»). Правило состоит в том, что значение w:styleId
является функцией значения w:name
. Например, если значение w:name
вашего стиля равно "My Style Name", соответствующее значение w:styleId
должно быть "MyStyleName". По крайней мере это то, что Word будет использовать после сохранения документа в Word.
Для встроенных стилей имена локализованы и не совсем соответствуют этому правилу. Например, значение w:name
встроенного стиля «Заголовок 1» равно «заголовок 1», а значение w:styleId
- «Заголовок1» (обратите внимание на верхний регистр «H»), если вы выбрали Engli sh в качестве дисплея язык. Например, если вы выбрали немецкий или французский, значения w:styleId
будут "berschrift1" или "Titre1", соответственно. Немецкое значение w:styleId
на самом деле должно быть «Überschrift1» (обратите внимание на умляут), но Word просто удаляет умляутные символы из значений w:styleId
.
В вашем случае, если вы придерживаетесь «Заголовок 1» В качестве имени стиля Word не может использовать «Heading1» (в версии Engli sh) и добавляет символ к значению w:styleId
, чтобы иметь возможность различать эти стили.
Предполагая, что у вас есть Engli sh в качестве языка отображения, чтобы изменить встроенный стиль «Заголовок 1», вам понадобится что-то вроде следующего, которое в этом примере является просто стандартным стилем «Заголовок 1», используемым Word в Normal.dotx
template.
<w:style w:type="paragraph" w:styleId="Heading1">
<w:name w:val="heading 1"/>
<w:basedOn w:val="Normal"/>
<w:next w:val="Normal"/>
<w:link w:val="Heading1Char"/>
<w:uiPriority w:val="9"/>
<w:qFormat/>
<w:rsid w:val="008A559F"/>
<w:pPr>
<w:keepNext/>
<w:keepLines/>
<w:spacing w:before="240" w:after="0"/>
<w:outlineLvl w:val="0"/>
</w:pPr>
<w:rPr>
<w:rFonts w:asciiTheme="majorHAnsi" w:eastAsiaTheme="majorEastAsia" w:hAnsiTheme="majorHAnsi" w:cstheme="majorBidi"/>
<w:color w:val="2F5496" w:themeColor="accent1" w:themeShade="BF"/>
<w:sz w:val="32"/>
<w:szCs w:val="32"/>
</w:rPr>
</w:style>
Еще раз обратите внимание, что значение w:name
- это «заголовок 1» с строчной буквой «h». Также обратите внимание на элемент w:rFonts
, показывающий, что валидатор неверен.