match_u32_assert(18);
pos += 18;
- if (match_u32(117))
- pos += 117;
- else if (match_u32(142))
- pos += 142;
- else if (match_u32(143))
- pos += 143;
- else if (match_u32(150))
- pos += 150;
- else
+ int x3 = get_u32();
+ if (version == 3)
{
- match_u32_assert(16);
- pos += 16;
+ assert(x3 >= 117);
+ int len = data[pos + 0x34];
+ if (len)
+ fprintf(stderr, "<tablelook>%.*s</tablelook>\n", len, &data[pos + 0x35]);
}
+ pos += x3;
int count = get_u32();
pos += 4 * count;
int[n-ccs] string*[n-ccs] /* @r{custom currency} */
styles2
+x2 := 00 00 00 01 00 00 00 00 00 00 00 00 00 02 00 00 00 00 /* @r{18 bytes} */
+
styles2 := i0 /* @r{version 1} */
styles2 := count(count(x5) count(x6)) /* @r{version 3} */
x5 := byte*33 int[n] int*n
In every example in the corpus for version 1, @code{x3} is 16 and the
bytes that follow it are @code{00 00 00 01 00 00 00 01 00 00 00 00 01
-01 01 01}. In version 3, observed @code{x3} varies from 117 to 150 and
-the bytes that follow it vary somewhat and often include a readable
-text string, e.g. ``Default'' or ``Academic'', which appears to be the
-name of a ``TableLook''.
+01 01 01}. In version 3, observed @code{x3} varies from 117 to 150,
+and its bytes include a 1-byte count at offset 0x34. When the count
+is nonzero, a text string of that length at offset 0x35 is the name of
+a ``TableLook'', e.g. ``Default'' or ``Academic''.
Observed values of @code{x4} vary from 0 to 17. Out of 7060 examples
in the corpus, it is nonzero only 36 times.