mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-13 15:03:20 +03:00
Шрифт бывает не собственным описанием, а ссылкой: на элемент стиля конфигурации
(style:) или на системный шрифт (sys:). Своих атрибутов у такого шрифта нет, и мы
превращали его в пустую запись — faceName="" height="0". ps1 при сборке подставлял
туда Arial 10, то есть подменял данные молча.
В корпусе таких шрифтов 272 в 213 макетах из 10 924: StyleItem 209, WindowsFont 63.
Запись — та же, что у шрифта в описании формы: { "ref": "style:TextFont" }.
kind выводится из префикса, ключом быть не обязан.
Синтетический стенд показал деталь, которую по корпусу было не разглядеть: префикс
sys в корне документа не объявлен, поэтому платформа дописывает объявление xmlns
прямо на узел шрифта — тот же приём, что с цветами из web-палитры.
Порты после этого сошлись ПОЛНОСТЬЮ: на пилоте из 40 макетов совпадают и JSON
декомпиляторов, и собранный XML. Макет со шрифтами добавлен в побайтовую
регрессию, стенд 8 из 13.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
25 lines
644 B
JSON
25 lines
644 B
JSON
{
|
|
"name": "Раундтрип макета ПЛАТФОРМЫ байт в байт: Шрифты",
|
|
"setup": "fixture:platform-roundtrip",
|
|
"inputFrom": "back.json",
|
|
"preRun": [
|
|
{
|
|
"script": "mxl-decompile/scripts/mxl-decompile",
|
|
"args": {
|
|
"-TemplatePath": "Шрифты.xml",
|
|
"-OutputPath": "back.json"
|
|
},
|
|
"cwd": "{workDir}"
|
|
}
|
|
],
|
|
"params": {
|
|
"outputPath": "out.xml"
|
|
},
|
|
"noSnapshot": "эталон — файл платформы, сверяется expect.filesEqual",
|
|
"expect": {
|
|
"filesEqual": {
|
|
"actual": "out.xml",
|
|
"expected": "Шрифты.xml"
|
|
}
|
|
}
|
|
} |