From 5bdba222c49afa25a1befead9fb180a9a1a73406 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Tue, 21 Oct 2008 22:53:40 +0000 Subject: Reduce space requirements by squashing opcode + flags + value into 32 bits. This has been achieved by reducing opcode's width from 16 to 8 bits. This is fine as there's 172 opcodes still available at present so plenty of room for expansion. Flags have been reduced from 16 to 10 bits wide and currently have 8 bits unused. This leaves 14 bits available for the opcode-specific value. No opcode needs all 14 bits at present. Inherit is now a global flag rather than a pre-defined value. This saves looking at the value field at all when styles are inherited and generally reduces complexity. svn path=/trunk/libcss/; revision=5616 --- docs/Bytecode | 976 ++++++++++++++++++++++++++-------------------------------- 1 file changed, 431 insertions(+), 545 deletions(-) (limited to 'docs/Bytecode') diff --git a/docs/Bytecode b/docs/Bytecode index f09ad41..5c88fec 100644 --- a/docs/Bytecode +++ b/docs/Bytecode @@ -4,14 +4,19 @@ CSS style declaration bytecode Format ------ - [] + [] - is 32 bits wide. -The bottom 16 bits contain the opcode and the top 16 bits contain flags. + is 32 bits wide: + bits 18-13: value + bits 8-17 : flags + bits 0-7 : opcode -The 16 bits of flag data are defined as follows: - bit 0 : !important - bit 1-15: MBZ +The 10 bits of flag data are defined as follows: + bits 2-9: MBZ + bit 1 : value is inherit + bit 0 : value is important + +The 14 bits of value are opcode-specific. Parameters are opcode-specific. Each parameter must begin on a 4 byte boundary. @@ -20,9 +25,12 @@ Datatype storage 8 and 16 bit integers are stored as 32bit values. -32 and 64 bit integers are stored in their natural format. +32 bit integers are stored in their natural format. + +Floats are stored in their natural format. -Floats and doubles are stored in their natural format. +Integers wider than 32 bits are not supported. +Doubles are not supported. Strings are stored unterminated UTF8, preceded by 32bits of byte length, and followed by 0-3 bytes of padding for alignment. The padding bytes must be @@ -89,12 +97,10 @@ Opcodes ------- 00 - azimuth - (32bits) : - bits 8-31: MBZ - bit 7 set => angle or inherit: - bits 0-6: 0000000 => signed angle unit follows, - 1111111 => inherit, - other => Reserved for future expansion. + (14bits) : + bits 8-13: MBZ + bit 7 set => angle follows. + bits 0-6: MBZ bit 6 set => relative movement: bit 7 : MBZ bits 1-5: MBZ @@ -114,83 +120,73 @@ Opcodes other => Reserved for future expansion. 01 - background-attachment - (32bits) : + (14bits) : 0 => fixed 1 => scroll - 0xff => inherit other => Reserved for future expansion. 02 - background-color - (32bits) : - bit 8-31: MBZ - bit 7 set => color or inherit: - bits 0-6: 0000000 => colour follows, - 1111111 => inherit, - other => Reserved for future expansion. - bit 7 clear => keyword color: + (14bits) : + bit 8-13: MBZ + bit 7 set => colour follows. + bits 0-6: MBZ + bit 7 clear => keyword colour: bits 1-6: MBZ bit 0 : clear => transparent, set => rffe. 03 - background-image - (32bits) : - bits 8-31: MBZ - bit 7 set => uri or inherit: - bits 0-6: 0000000 => uri string follows, - 1111111 => inherit, - other => Reserved for future expansion. + (14bits) : + bits 8-13: MBZ + bit 7 set => uri string follows. + bits 0-6: MBZ bit 7 clear => keyword: bits 1-6: MBZ bit 0 : clear => none, set => rffe. 04 - background-position - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit - otherwise: - bit 7: set => percentage or length unit follows - bits 4-6: MBZ - clear => keywords: - bits 4-6: - 000 => right - 001 => center - 010 => left - other => rffe - bit 3: set => percentage or length unit follows - bits 0-2: MBZ - clear => keywords: - bits 0-2: - 000 => bottom - 001 => center - 010 => top - other => rffe + bit 7: set => percentage or length unit follows + bits 4-6: MBZ + clear => keywords: + bits 4-6: + 000 => right + 001 => center + 010 => left + other => rffe + bit 3: set => percentage or length unit follows + bits 0-2: MBZ + clear => keywords: + bits 0-2: + 000 => bottom + 001 => center + 010 => top + other => rffe 05 - background-repeat - (32bits) : + (14bits) : 0 => no-repeat 1 => repeat-x 2 => repeat-y 3 => repeat - 0xff => inherit other => Reserved for future expansion. 06 - border-collapse - (32bits) : + (14bits) : 0 => separate 1 => collapse - 0xff => inherit other => Reserved for future expansion. 07 - border-spacing - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : 00000000 => two lengths follow, - 11111111 => inherit, other => Reserved for future expansion. 08 - border-{top,right,bottom,left}-color - (32bits) : - bits 10-31: MBZ + (14bits) : + bits 10-13: MBZ bits 8-9 : 00 => top 01 => right @@ -198,12 +194,11 @@ Opcodes 11 => left bits 0-7 : 00000000 => colour follows, 00000001 => transparent, - 11111111 => inherit, other => Reserved for future expansion. 09 - border-{top,right,bottom,left}-style - (32bits) : - bits 10-31: MBZ + (14bits) : + bits 10-13: MBZ bits 8-9 : 00 => top 01 => right @@ -220,96 +215,84 @@ Opcodes 00000111 => ridge, 00001000 => inset, 00001001 => outset, - 11111111 => inherit, other => Reserved for future expansion. 0a - border-{top,right,bottom,left}-width - (32bits) : - bits 10-31: MBZ + (14bits) : + bits 10-13: MBZ bits 8-9 : 00 => top 01 => right 10 => bottom 11 => left bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => length follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => thin, - 0000001 => medium, - 0000010 => thick, - other => rffe. + bit 7 set => length follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => thin, + 0000001 => medium, + 0000010 => thick, + other => rffe. 0b - bottom - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7: - 11111111 => inherit, - otherwise: - bit 7 set => length/percentage follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => auto, - other => rffe. + bit 7 set => length/percentage follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => auto, + other => rffe. 0c - caption-side - (32bits) : + (14bits) : 0 => top 1 => bottom - 0xff => inherit other => Reserved for future expansion. 0d - clear - (32bits) : + (14bits) : 0 => none 1 => left 2 => right 3 => both - 0xff => inherit other => Reserved for future expansion. 0e - clip - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7: - 11111111 => inherit, - otherwise: - bit 7 set => shape follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => auto, - other => rffe. + bit 7 set => shape follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => auto, + other => rffe. 0f - color - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7: - 11111111 => inherit, 00000000 => colour follows, other => Reserved for future expansion. 10 - content - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => string follows - bits 0-6: 0000000 => string, - 0000001 => uri, - 0000010 => counter, - 0000011 => attr, - other => rffe. - bit 7 clear => keywords: - bits 0-6: 0000000 => normal, - 0000001 => none, - 0000010 => open-quote, - 0000011 => close-quote, - 0000100 => no-open-quote, - 0000101 => no-close-quote, - other => rffe. + bit 7 set => string follows + bits 0-6: 0000000 => string, + 0000001 => uri, + 0000010 => counter, + 0000011 => attr, + other => rffe. + bit 7 clear => keywords: + bits 0-6: 0000000 => normal, + 0000001 => none, + 0000010 => open-quote, + 0000011 => close-quote, + 0000100 => no-open-quote, + 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 word which @@ -317,18 +300,16 @@ Opcodes word with all bits set to zero (the encoding for "normal"). 11 - counter-increment - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => string or integer follows - bits 0-6: 0000000 => string, - 0000001 => integer, - other => rffe. - bit 7 clear => keywords: - bits 0-6: 0000000 => none, - other => rffe. + bit 7 set => string or integer follows + bits 0-6: 0000000 => string, + 0000001 => integer, + other => rffe. + bit 7 clear => keywords: + bits 0-6: 0000000 => none, + other => rffe. If the value is not "none", or "inherit", then there is a parameter list. Each item is preceded by a word which declares the type @@ -336,18 +317,16 @@ Opcodes zero (the encoding for "none"). 12 - counter-reset - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => string or integer follows - bits 0-6: 0000000 => string, - 0000001 => integer, - other => rffe. - bit 7 clear => keywords: - bits 0-6: 0000000 => none, - other => rffe. + bit 7 set => string or integer follows + bits 0-6: 0000000 => string, + 0000001 => integer, + other => rffe. + bit 7 clear => keywords: + bits 0-6: 0000000 => none, + other => rffe. If the value is not "none", or "inherit", then there is a parameter list. Each item is preceded by a word which declares the type @@ -355,56 +334,50 @@ Opcodes zero (the encoding for "none"). 13 - cue-after - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => uri follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => none, - other => rffe. + bit 7 set => uri follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => none, + other => rffe. 14 - cue-before - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => uri follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => none, - other => rffe. + bit 7 set => uri follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => none, + other => rffe. 15 - cursor - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => uri follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => auto, - 0000001 => crosshair, - 0000010 => default, - 0000011 => pointer, - 0000100 => move, - 0000101 => e-resize, - 0000110 => ne-resize, - 0000111 => nw-resize, - 0001000 => n-resize, - 0001001 => se-resize, - 0001010 => sw-resize, - 0001011 => s-resize, - 0001100 => w-resize, - 0001101 => text, - 0001110 => wait, - 0001111 => help, - 0010000 => progress, - other => rffe. + bit 7 set => uri follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => auto, + 0000001 => crosshair, + 0000010 => default, + 0000011 => pointer, + 0000100 => move, + 0000101 => e-resize, + 0000110 => ne-resize, + 0000111 => nw-resize, + 0001000 => n-resize, + 0001001 => se-resize, + 0001010 => sw-resize, + 0001011 => s-resize, + 0001100 => w-resize, + 0001101 => text, + 0001110 => wait, + 0001111 => help, + 0010000 => progress, + other => rffe. If the value indicates that a uri is present, then there is a parameter list. Each item is preceded by a word which declares @@ -412,14 +385,13 @@ Opcodes bit 7 clear. 16 - direction - (32bits) : + (14bits) : 0 => ltr, 1 => rtl, - 0xff => inherit, other => Reserved for future expansion. 17 - display - (32bits) : + (14bits) : 0 => inline, 1 => block, 2 => list-item, @@ -436,56 +408,49 @@ Opcodes d => table-cell, e => table-caption, f => none, - 0xff => inherit, other => Reserved for future expansion. 18 - elevation - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => angle follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => below, - 0000001 => level, - 0000010 => above, - 0000011 => higher, - 0000100 => lower, - other => rffe. + bit 7 set => angle follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => below, + 0000001 => level, + 0000010 => above, + 0000011 => higher, + 0000100 => lower, + other => rffe. 19 - empty-cells - (32bits) : + (14bits) : 0 => show, 1 => hide, - 0xff => inherit other => Reserved for future expansion. 1a - float - (32bits) : + (14bits) : 0 => left, 1 => right, 2 => none, - 0xff => inherit other => Reserved for future expansion. 1b - font-family - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => string follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => Reserved. - 0000001 => serif, - 0000010 => sans-serif, - 0000011 => cursive, - 0000100 => fantasy, - 0000101 => monospace, - other => rffe. + bit 7 set => string follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => Reserved. + 0000001 => serif, + 0000010 => sans-serif, + 0000011 => cursive, + 0000100 => fantasy, + 0000101 => monospace, + other => rffe. If the value indicates that a string is present, then there is a parameter list. Each item is preceded by a word which declares @@ -493,42 +458,38 @@ Opcodes all bits clear. 1c - font-size - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7: - 11111111 => inherit, - otherwise: - bit 7 set => dimension follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => xx-small, - 0000001 => x-small, - 0000010 => small, - 0000011 => medium, - 0000100 => large, - 0000101 => x-large, - 0000110 => xx-large, - 0000111 => larger, - 0001000 => smaller, - other => rffe. + bit 7 set => dimension follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => xx-small, + 0000001 => x-small, + 0000010 => small, + 0000011 => medium, + 0000100 => large, + 0000101 => x-large, + 0000110 => xx-large, + 0000111 => larger, + 0001000 => smaller, + other => rffe. 1d - font-style - (32bits) : + (14bits) : 0 => normal, 1 => italic, 2 => oblique, - 0xff => inherit, other => Reserved for future expansion. 1e - font-variant - (32bits) : + (14bits) : 0 => normal, 1 => small-caps, - 0xff => inherit, other => Reserved for future expansion. 1f - font-weight - (32bits) : + (14bits) : 0 => normal, 1 => bold, 2 => bolder, @@ -542,80 +503,68 @@ Opcodes a => 700, b => 800, c => 900, - 0xff => inherit, other => Reserved for future expansion. 20 - height - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => length or percentage follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => auto, - other => rffe. + bit 7 set => length or percentage follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => auto, + other => rffe. 21 - left - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => length or percentage follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => auto, - other => rffe. + bit 7 set => length or percentage follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => auto, + other => rffe. 22 - letter-spacing - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => length follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => normal, - other => rffe. + bit 7 set => length follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => normal, + other => rffe. 23 - line-height - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => length/number/percentage follows - bits 0-6: 0000000 => number, - 0000001 => dimension, - other => rffe. - bit 7 clear => keywords: - bits 0-6: 0000000 => normal, - other => rffe. + bit 7 set => length/number/percentage follows + bits 0-6: 0000000 => number, + 0000001 => dimension, + other => rffe. + bit 7 clear => keywords: + bits 0-6: 0000000 => normal, + other => rffe. 24 - list-style-image - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => string follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => none, - other => rffe. + bit 7 set => string follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => none, + other => rffe. 25 - list-style-position - (32bits) : + (14bits) : 0 => inside, 1 => outside, - 0xff => inherit, other => Reserved for future expansion. 26 - list-style-type - (32bits) : + (14bits) : 0 => disc, 1 => circle, 2 => square, @@ -632,89 +581,77 @@ Opcodes d => lower-alpha, e => upper-alpha, f => none, - 0xff => inherit, other => Reserved for future expansion. 27 - margin-{top,right,bottom,left} - (32bits) : - bits 10-31: MBZ + (14bits) : + bits 10-13: MBZ bits 8-9 : 00 => top, 01 => right, 10 => bottom, 11 => left bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => length or percentage follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => auto, - other => rffe. + bit 7 set => length or percentage follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => auto, + other => rffe. 28 - max-height - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => length or percentage follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => none, - other => rffe. + bit 7 set => length or percentage follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => none, + other => rffe. 29 - max-width - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => length or percentage follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => none, - other => rffe. + bit 7 set => length or percentage follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => none, + other => rffe. 2a - min-height - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, 00000000 => length or percentage follows, other => Reserved for future expansion. 2b - min-width - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, 00000000 => length or percentage follows, other => Reserved for future expansion. 2c - orphans - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, 00000000 => integer follows, other => Reserved for future expansion. 2d - outline-color - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => colour follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => invert, - other => rffe. + bit 7 set => colour follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => invert, + other => rffe. 2e - outline-style - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : 00000000 => none, 00000001 => hidden, @@ -726,147 +663,129 @@ Opcodes 00000111 => ridge, 00001000 => inset, 00001001 => outset, - 11111111 => inherit, other => Reserved for future expansion. 2f - outline-width - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => length follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => thin, - 0000001 => medium, - 0000010 => thick, - other => rffe. + bit 7 set => length follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => thin, + 0000001 => medium, + 0000010 => thick, + other => rffe. 30 - overflow - (32bits) : + (14bits) : 0 => visible, 1 => hidden, 2 => scroll, 3 => auto, - 0xff => inherit, other => Reserved for future expansion. 31 - padding-{top,right,bottom,left} - (32bits) : - bits 10-31: MBZ + (14bits) : + bits 10-13: MBZ bits 8-9 : 00 => top, 01 => right, 10 => bottom, 11 => left bits 0-7 : - 11111111 => inherit, 00000000 => length or percentage follows, other => Reserved for future expansion. 32 - page-break-after - (32bits) : + (14bits) : 0 => auto, 1 => always, 2 => avoid, 3 => left, 4 => right, - 0xff => inherit, other => Reserved for future expansion. 33 - page-break-before - (32bits) : + (14bits) : 0 => auto, 1 => always, 2 => avoid, 3 => left, 4 => right, - 0xff => inherit, other => Reserved for future expansion. 34 - page-break-inside - (32bits) : + (14bits) : 0 => avoid, 1 => auto, - 0xff => inherit, other => Reserved for future expansion. 35 - pause-after - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, 00000000 => time or percentage follows, other => Reserved for future expansion. 36 - pause-before - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, 00000000 => time or percentage follows, other => Reserved for future expansion. 37 - pitch-range - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, 00000000 => number follows, other => Reserved for future expansion. 38 - pitch - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => frequency follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => x-low, - 0000001 => low, - 0000010 => medium, - 0000011 => high, - 0000100 => x-high, - other => rffe. + bit 7 set => frequency follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => x-low, + 0000001 => low, + 0000010 => medium, + 0000011 => high, + 0000100 => x-high, + other => rffe. 39 - play-during - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => string follows - bit 6: set => mix, clear => don't mix - bit 5: set => repeat, clear => no repeat - bits 0-4: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => auto, - 0000001 => none, - other => rffe. + bit 7 set => string follows + bit 6: set => mix, clear => don't mix + bit 5: set => repeat, clear => no repeat + bits 0-4: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => auto, + 0000001 => none, + other => rffe. 3a - position - (32bits) : + (14bits) : 0 => static, 1 => relative, 2 => absolute, 3 => fixed, - 0xff => inherit, other => Reserved for future expansion. 3b - quotes - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => two strings follow - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => none, - other => rffe. + bit 7 set => two strings follow + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => none, + other => rffe. If the value indicates that strings are present, then there is a parameter list. Each item is preceded by a word which declares @@ -874,101 +793,88 @@ Opcodes all bits clear (the encoding for "none"). 3c - richness - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, 00000000 => number follows, other => Reserved for future expansion. 3d - right - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => length or percentage follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => auto, - other => rffe. + bit 7 set => length or percentage follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => auto, + other => rffe. 3e - speak-header - (32bits) : + (14bits) : 0 => once, 1 => always, - 0xff => inherit, other => Reserved for future expansion. 3f - speak-numeral - (32bits) : + (14bits) : 0 => digits, 1 => continuous, - 0xff => inherit, other => Reserved for future expansion. 40 - speak-punctuation - (32bits) : + (14bits) : 0 => code, 1 => none, - 0xff => inherit, other => Reserved for future expansion. 41 - speak - (32bits) : + (14bits) : 0 => normal, 1 => none, 2 => spell-out, - 0xff => inherit, other => Reserved for future expansion. 42 - speech-rate - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => number follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => x-slow, - 0000001 => slow, - 0000010 => medium, - 0000011 => fast, - 0000100 => x-fast, - 0000101 => faster, - 0000110 => slower, - other => rffe. + bit 7 set => number follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => x-slow, + 0000001 => slow, + 0000010 => medium, + 0000011 => fast, + 0000100 => x-fast, + 0000101 => faster, + 0000110 => slower, + other => rffe. 43 - stress - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, 00000000 => number follows, other => Reserved for future expansion. 44 - table-layout - (32bits) : + (14bits) : 0 => auto, 1 => fixed, - 0xff => inherit, other => Reserved for future expansion. 45 - text-align - (32bits) : + (14bits) : 0 => left, 1 => right, 2 => center, 3 => justify, - 0xff => inherit, other => Reserved for future expansion. 46 - text-decoration - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit 00000000 => none otherwise: bits 4-7: MBZ @@ -979,83 +885,73 @@ Opcodes bit 0: set => underline, clear => no underline 47 - text-indent - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, 00000000 => length or percentage follows, other => Reserved for future expansion. 48 - text-transform - (32bits) : + (14bits) : 0 => capitalize, 1 => uppercase, 2 => lowercase, 3 => none, - 0xff => inherit, other => Reserved for future expansion. 49 - top - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => length or percentage follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => auto, - other => rffe. + bit 7 set => length or percentage follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => auto, + other => rffe. 4a - unicode-bidi - (32bits) : + (14bits) : 0 => normal, 1 => embed, 2 => bidi-override, - 0xff => inherit, other => Reserved for future expansion. 4b - vertical-align - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => length or percentage follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => baseline, - 0000001 => sub, - 0000010 => super, - 0000011 => top, - 0000100 => text-top, - 0000101 => middle, - 0000110 => bottom, - 0000111 => text-bottom, - other => rffe. + bit 7 set => length or percentage follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => baseline, + 0000001 => sub, + 0000010 => super, + 0000011 => top, + 0000100 => text-top, + 0000101 => middle, + 0000110 => bottom, + 0000111 => text-bottom, + other => rffe. 4c - visibility - (32bits) : + (14bits) : 0 => visible, 1 => hidden, 2 => collapse, - 0xff => inherit, other => Reserved for future expansion. 4d - voice-family - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => string follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => Reserved. - 0000001 => male, - 0000010 => female, - 0000011 => child, - other => rffe. + bit 7 set => string follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => Reserved. + 0000001 => male, + 0000010 => female, + 0000011 => child, + other => rffe. If the value indicates that a string is present, then there is a parameter list. Each item is preceded by a word which declares @@ -1063,77 +959,67 @@ Opcodes all bits clear. 4e - volume - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => number/percentage follows - bits 0-6: 0000000 => number, - 0000001 => dimension, - other => rffe. - bit 7 clear => keywords: - bits 0-6: 0000000 => silent, - 0000001 => x-soft, - 0000010 => soft, - 0000011 => medium, - 0000100 => loud, - 0000101 => x-loud, - other => rffe. + bit 7 set => number/percentage follows + bits 0-6: 0000000 => number, + 0000001 => dimension, + other => rffe. + bit 7 clear => keywords: + bits 0-6: 0000000 => silent, + 0000001 => x-soft, + 0000010 => soft, + 0000011 => medium, + 0000100 => loud, + 0000101 => x-loud, + other => rffe. 4f - white-space - (32bits) : + (14bits) : 0 => normal, 1 => pre, 2 => nowrap, 3 => pre-wrap, 4 => pre-line, - 0xff => inherit, other => Reserved for future expansion. 50 - widows - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, 00000000 => integer follows, other => Reserved for future expansion. 51 - width - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => length or percentage follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => auto, - other => rffe. + bit 7 set => length or percentage follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => auto, + other => rffe. 52 - word-spacing - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => length follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => normal, - other => rffe. + bit 7 set => length follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => normal, + other => rffe. 53 - z-index - (32bits) : - bits 8-31: MBZ + (14bits) : + bits 8-13: MBZ bits 0-7 : - 11111111 => inherit, - otherwise: - bit 7 set => integer follows - bits 0-6: MBZ - bit 7 clear => keywords: - bits 0-6: 0000000 => auto, - other => rffe. + bit 7 set => integer follows + bits 0-6: MBZ + bit 7 clear => keywords: + bits 0-6: 0000000 => auto, + other => rffe. -54-ffff - Reserved for future expansion. +54-ff - Reserved for future expansion. -- cgit v1.2.3