summaryrefslogtreecommitdiff
path: root/docs/Bytecode
diff options
context:
space:
mode:
Diffstat (limited to 'docs/Bytecode')
-rw-r--r--docs/Bytecode110
1 files changed, 68 insertions, 42 deletions
diff --git a/docs/Bytecode b/docs/Bytecode
index 880ccbd..272fd07 100644
--- a/docs/Bytecode
+++ b/docs/Bytecode
@@ -12,8 +12,13 @@ Format
bits 0-9 : opcode
The 8 bits of flag data are defined as follows:
- bits 2-7: Must Be Zero (MBZ)
- bit 1 : value is inherit
+ bits 4-7: Must Be Zero (MBZ)
+ bits 1-3: Generic value
+ 000 => no generic value
+ 001 => inherit
+ 010 => initial
+ 011 => revert
+ 100 => unset
bit 0 : value is important
The 14 bits of value are opcode-specific.
@@ -44,19 +49,16 @@ Length is a 32bit numeric value (as described above) and unit is as follows:
00000101 => mm
00000110 => pt
00000111 => pc
- 00001000 => cap
- 00001001 => ch
- 00001010 => ic
- 00001011 => rem
- 00001100 => lh
- 00001101 => rlh
- 00001110 => vh
- 00001111 => vw
- 00010000 => vi
- 00010001 => vb
- 00010010 => vmin
- 00010011 => vmax
- 00010100 => q
+ 00001000 => ch
+ 00001001 => rem
+ 00001010 => lh
+ 00001011 => vh
+ 00001100 => vw
+ 00001101 => vi
+ 00001110 => vb
+ 00001111 => vmin
+ 00010000 => vmax
+ 00010001 => q
bit 9 set => percentage unit
bits 9-31: MBZ
@@ -342,11 +344,9 @@ Opcodes
bits 0-6: 0000000 => string,
0000001 => uri,
0000010 => counter,
- bits 12-13: MBZ
- bits 8-11 : list-style-type
+ bits 8-13 : list-style-type
0000011 => counters,
- bits 12-13: MBZ
- bits 8-11 : list-style-type
+ bits 8-13 : list-style-type
0000100 => attr,
other => rffe.
bit 7 clear => keywords:
@@ -358,10 +358,11 @@ Opcodes
0000101 => no-close-quote,
other => rffe.
- If the value is not "normal", "none", or "inherit", then there is
- a parameter list. Each item is preceded by a <value> word which
- declares the type of the next item. The list is terminated by a
- word with all bits set to zero (the encoding for "normal").
+ If the value is not "normal", "none", or a generic value ("inherit",
+ "initial", "unset", or "revert"), then there is a parameter list.
+ Each item is preceded by a <value> word which declares the type of
+ the next item. The list is terminated by a word with all bits set
+ to zero (the encoding for "normal").
For example,
content: open-quote url('http://example.com/')
@@ -390,7 +391,8 @@ Opcodes
bits 0-6: 0000000 => none,
other => rffe.
- If the value is not "none", or "inherit", then there is a parameter
+ If the value is not "none", or a generic value ("inherit",
+ "initial", "unset", or "revert"), then there is a parameter
list. Each item is preceded by a <value> word which declares the type
of the next item. The list is terminated by a word with all bits set to
zero (the encoding for "none").
@@ -406,7 +408,8 @@ Opcodes
bits 0-6: 0000000 => none,
other => rffe.
- If the value is not "none", or "inherit", then there is a parameter
+ If the value is not "none", or a generic value ("inherit",
+ "initial", "unset", or "revert"), then there is a parameter
list. Each item is preceded by a <value> word which declares the type
of the next item. The list is terminated by a word with all bits set to
zero (the encoding for "none").
@@ -488,6 +491,8 @@ Opcodes
f => none,
10 => flex,
11 => inline-flex,
+ 12 => grid,
+ 13 => inline-grid
other => Reserved for future expansion.
21 - elevation
@@ -646,22 +651,24 @@ Opcodes
2f - list-style-type
<value> (14bits) :
- 0 => disc,
- 1 => circle,
- 2 => square,
- 3 => decimal,
- 4 => decimal-leading-zero,
- 5 => lower-roman,
- 6 => upper-roman,
- 7 => lower-greek,
- 8 => lower-latin,
- 9 => upper-latin,
- a => armenian,
- b => georgian,
- c => lower-alpha,
- d => upper-alpha,
- e => none,
- other => Reserved for future expansion.
+ bits 6-13: MBZ
+ bits 0-5 :
+ 0 => disc,
+ 1 => circle,
+ 2 => square,
+ 3 => decimal,
+ 4 => decimal-leading-zero,
+ 5 => lower-roman,
+ 6 => upper-roman,
+ 7 => lower-greek,
+ 8 => lower-latin,
+ 9 => upper-latin,
+ a => armenian,
+ b => georgian,
+ c => lower-alpha,
+ d => upper-alpha,
+ e => none,
+ other => Reserved for future expansion.
30 - margin-top
31 - margin-right
@@ -869,6 +876,7 @@ Opcodes
1 => relative,
2 => absolute,
3 => fixed,
+ 4 => sticky,
other => Reserved for future expansion.
4a - quotes
@@ -1375,4 +1383,22 @@ Opcodes
bit 7 clear => Reserved for future expansion
bits 0-6: MBZ
-7c-3ff - Reserved for future expansion.
+7c - fill-opacity
+ <value> (14bits) :
+ bits 8-13: MBZ
+ bits 0-7 :
+ bit 7 set => number follows
+ bits 0-6: MBZ
+ bit 7 clear => Reserved for future expansion
+ bits 0-6: MBZ
+
+7d - stroke-opacity
+ <value> (14bits) :
+ bits 8-13: MBZ
+ bits 0-7 :
+ bit 7 set => number follows
+ bits 0-6: MBZ
+ bit 7 clear => Reserved for future expansion
+ bits 0-6: MBZ
+
+7e-3ff - Reserved for future expansion.