Apr 19, 2006, 1:50:24 PM (14 years ago)
Sam Hocevar
  • Moved the technical discussion on S-Lang's palette optimisation from NOTES to tools/optipal.c.
1 edited


  • libcaca/trunk/NOTES

    r343 r820  
    116116       doesn't work on konsole
    118    o  S-Lang:
    120       256 character pairs are definable, but only 128 can be used. This is
    121       because slsmg.c's This_Color variable uses its 8th bit to indicate an
    122       alternate character set. Replacing a few 0x7F with 0xFF in sldisply.c
    123       works around the problem but gets rid of the alternate charset.
    125       We can work around this problem. See this usage grid:
    127                       bg                         1 1 1 1 1 1
    128         fg                  0 1 2 3 4 5 6 7  8 9 0 1 2 3 4 5
    130         0 (black)             C C C C C C F  B c c c c c c F
    131         1 (blue)            A   h D h D i f  C C h E h E k g
    132         2 (green)           A h   D h i D f  C h C E h k E g
    133         3 (cyan)            A D D   i h h f  C E E C k h h g
    134         4 (red)             A h h i   D D f  C h h k C E E g
    135         5 (magenta)         A D i h D   h f  C E k h E C h g
    136         6 (brown)           A i D h D h   f  C k E h E h C g
    137         7 (light gray)      A F a a a a a    B C C C C C C B
    139         8 (dark gray)       A C C C C C C B    d d d d d d F
    140         9 (light blue)      A C h E h E j C  e   h D h D l C
    141         10 (light green)    A h C E h j E C  e h   D h l D C
    142         11 (light cyan)     A E E C j h h C  e D D   l h h C
    143         12 (light red)      A h h j C E E C  e h h l   D D C
    144         13 (light magenta)  A E j h E C h C  e D l h D   h C
    145         14 (yellow)         A j E h E h C C  e l D h D h   C
    146         15 (white)          A F b b b b b B  F C C C C C C 
    148       ' ': useless colour pairs that can be emulated by printing a space in
    149            any other colour pair that has the same background
    150       'A': black background colour pairs that are needed for the old renderer
    151       'B': gray combinations used for grayscale dithering
    152       'C': white/light, light/dark, lightgray/light, darkgray/dark, dark/black
    153            combinations often used for saturation/value dithering (the two
    154            other possible combinations, lightgray/dark and darkgray/light, are
    155            not considered here)
    156       'D': next colour combinations for hue dithering (magenta/blue, blue/green
    157            and so on)
    158       'E': next colour combinations for hue/value dithering (blue/lightgreen,
    159            green/lightblue and so on)
    160       'F': black on light gray, black on white, white on dark gray, dark gray
    161            on white, white on blue, light gray on blue (chosen arbitrarily)
    163       'A': 15 colour pairs
    164       'A'+'B': 20 colour pairs
    165       'A'+'B'+'C': 74 colour pairs
    166       'A'+'B'+'C'+'D': 98 colour pairs
    167       'A'+'B'+'C'+'D'+'E': 122 colour pairs
    168       'A'+'B'+'C'+'D'+'E'+'F': 128 colour pairs
    170       The remaining slightly important colour pairs are:
    172       'a': light gray on dark colour: emulate with light colour on dark colour
    173       'b': white on dark colour: emulate with light gray on light colour
    174       'c': black on light colour: emulate with dark gray on dark colour
    175       'd': dark gray on light colour: emulate with dark colour on light colour
    176       'e': light colour on dark gray: emulate with dark colour on dark gray
    177       'f': dark colour on light gray: emulate with light colour on light gray
    178       'g': dark colour on white: emulate with light colour on white
    180       And now the seldom used pairs:
    182       'h': 120 degree hue pairs can be emulated as well; for instance blue on
    183            red can be emulated using magenta on red, and blue on green using
    184            cyan on green
    186       And the almost never used pairs:
    188       'i': dark opposite on dark: emulate with dark opposite on black
    189       'j': light opposite on dark: emulate with light opposite on black
    190       'k': dark opposite on light: emulate with black on dark
    191       'l': light opposite on light: emulate with white on light
    193118   o  MS-DOS: all bright colours, bright backgrounds, and bright combinations
    194119      work using <conio.h>. No need to kludge anything.
Note: See TracChangeset for help on using the changeset viewer.