Что означает нечисловые значения в определении ребер XFL?

XFL - это новый несжатый исходный файл ADOBE FLASH (CS5), он состоит из определений XML, большинство из которых ясны, но, к сожалению, важные являются странными.

Глядя на различные существующие источники, я вижу определения EDGE формы, такие как:

<Edge strokeStyle="1" edges="!0 0S4|180 0"/>
<Edge strokeStyle="1" edges="!2720 2720S6|0 2720!0 2720|0 0!0 0/2720 2720"/>
<Edge fillStyle1="1" edges="!3532 1539.5S2[#BD9.4D #577.3C 2952.5 1756.5!2952.5 1756.5[#AF6.DA #4C6.1D 3584 1119!3584 1119|3532 1539.5"/> 

Делая некоторые тесты, я могу сказать, что:

! == move to position
| == draw line from the position to the new position
/ == probably same like |
[ == draw curve
( == probably same like [

Но что означает такие значения, как S4 или # BD9.4D? Мое еще не доказанное предположение состоит в том, что значения # могут быть как-то закодированы очень маленькими числами. Я понятия не имею, что может быть S4.

2 ответа

Решение

!(x,y) MoveTo

/(x,y)+ LineTo

|(x,y)+ LineTo

[(x1 y1 ex ey)+ CurveTo (квадратичный)

](x1 y1 ex ey)+ CurveTo (квадратичный)

((pBCPx pBCPy)? ; x1 y1 x2 y2 ex ey (({Q,q,P,p})? x y)+ CurveTo (кубический старт)

)(nBCPx nBCPy)? ; CurveTo (кубический конец)

Sn выбор (n= битовая маска, 1:fillStyle0, 2:fillStyle1, 4: обводка)

#aaaaaa.bb 32-разрядное число с фиксированной точкой со знаком

Хм... я ошибся с предположением о # значениях!

Я декомпилировал полученную форму и могу сказать, что, например, значение #BD9.4D должно быть глупой шестнадцатеричной кодировкой числа 3033.77. Я хотел бы знать, почему Adobe использует нечто подобное в коде, который должен быть удобочитаемым для человека?

РЕДАКТИРОВАТЬ: вышеупомянутое неверно, правильный результат для #BD9.4D 3033.30078125

>> (to integer! #{000BD94D}) / 256
== 3033.30078125

Также обратите внимание, что числа типа #19F.2 являются двоичными #{00019F20}

Согласно значениям типа S4, они могут быть просто дополнительной информацией для редактора FLASH, потому что, когда я удаляю их вручную, я могу загрузить источник, и форма будет одинаковой.

Другие вопросы по тегам