Subversion Repositories Kolibri OS

Rev

Rev 2470 | Rev 2522 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. ; Kolibri-A vectorized system fonts
  3. ; A.Jerdev <artem@jerdev.co.uk>
  4. ; Copyright (C) KolibriOS Team, 2011
  5. ;
  6. ; font data section
  7.  
  8.  
  9. macro gptick    origin, r, tick
  10. {    dw  (origin mod 32) shl 11 + (r mod 8) shl 8 + (tick mod 256) }
  11.  
  12. macro ritick    x, y, tick
  13. {    dw  (x mod 16) shl 12 + (y mod 16) shl 8 + (tick mod 2) }
  14.  
  15. macro cstick    x, y, r, tick
  16. {    dw  (x mod 16) shl 12 + (y mod 16) shl 8 + 0xD8 + (r mod 2) shl 2 + (tick mod 4) }
  17.  
  18. macro lntick    x, y, r, len
  19. {
  20. if  len in <2, 3, 4, 5, 6, 7>
  21. dw  ((x mod 16) shl 12 + (y mod 16) shl 8 + (r mod 4) shl 3 + len)
  22. else
  23. dw  ((x mod 16) shl 12 + (y mod 16) shl 8 + (r mod 4) shl 3 + ((len-8) mod 8) + 0xE0)
  24. end if
  25.     }
  26.  
  27. ;align 8
  28. ;sdsh_data:
  29.  
  30. .numfonts   db  2               ; number of system fonts
  31. .numsptks   db  32              ; number of special ticks
  32. .numticks   dw  ?               ; total number of ticks
  33. ;.sp_ticks   dd  .special_ticks  ; special table
  34. .ticktble   dd  .tick_table     ; general table
  35. ;.pix4       db  34
  36. ;.pix5       db  42
  37. ;.pix6       db  50
  38. ;.pix7       db  58
  39. ;.pix8       db  66
  40.  
  41. align 4
  42. ;   ---- special tickfields ----
  43. .blank      db  0, 0, 0, 0         ; for straight lines
  44. .cs2        db  11001100b,  111100b
  45. .cs3        db  00010100b,  01000101b,  0001b
  46. .cs0        db  1111b              ; 4-pix square
  47. .ri1        db  01010101b, 0101b   ; 8-pix ring (rot-invariant)
  48.  
  49. align 16
  50. .info:
  51.  
  52. ;    System font #0: 5x9
  53. .fnt0.x     db  5           ; + 0: X-width
  54. .fnt0.y     db  9           ; + 1: Y-heigth
  55. .fnt0.rs    dw  0           ; + 2: reserved
  56. .fnt0.tab   dd  .table0     ; + 4
  57. .fnt0.org   dd  .origs0     ; + 8
  58.  
  59. ;align 16
  60. ;;    System font #1: 7x10
  61. ;.fnt1.x     db  7           ; X-width
  62. ;.fnt1.y     db  9           ; Y-heigth
  63. ;.fnt1.rs    dw  0           ; reserved
  64. ;.fnt1.tab   dd  .table1
  65. ;.fnt1.org   dd  .origs1
  66.  
  67. align 4
  68. .origs0:
  69.             db  0x00    ; zero
  70.             db  0x02    ; 1     s/7X
  71.             db  0x05    ; 2     6W~§
  72.             db  0x06    ; 3     ^*S
  73.             db  0x08    ; 4     \
  74.             db  0x32    ; 5     0(adqceku{
  75.             db  0x42    ; 6
  76.             db  0x43    ; 7
  77.             db  0x07    ; 8     &>?23
  78.             db  0x18    ; 9     )9D
  79.             db  0x44    ; 10    *8B
  80.             db  0x03    ; 11    $
  81.             db  0x46    ; 12    vJVg
  82.             db  0x35    ; 13    5}
  83.             db  0x15    ; 14    4
  84.             db  0x45    ; 15    9e
  85.             db  0x16    ; 16    abphin›
  86.             db  0x13    ; 17    f
  87.             db  0x48    ; 18    Y
  88.             db  0x22    ; 19    j&
  89.             db  0x36    ; 20    mt
  90.             db  0x25    ; 21    r
  91.             db  0x12    ; 22    wæ
  92.             db  0x26    ; 23    {
  93.             db  0x24    ; 24    }êî
  94.             db  0x28    ; 25
  95.             db  0x14    ; 26    ‹ëìï
  96.             db  0x34    ; 27    ç
  97.             db  0x38    ; 28
  98.             db  0x41    ; 29
  99.             db  0x30    ; 30
  100.             db  0x47    ; 31    J
  101.  
  102. align 4
  103.  
  104. diff16 "sdsh_data.tick_table: ",0,$
  105.  
  106. .tick_table:
  107.             db  0, 0, 0, 0, 0, 0        ;32..37 (reserved)
  108. .v1:
  109.                             ;  38   39
  110.             db  01b         ; XX    XX
  111.             db  11b         ;   X    X
  112. .v2:
  113.                             ;      40    41     42    43    44   45
  114.             db  0100b       ;40    XXX    XXX   XX    XX    XX   XX
  115.             db  1100b       ;41       X     X     X     XX    X    X
  116.             db  0001b       ;42                    X          X   X
  117.             db  1001b       ;43
  118.             db  0101b       ;44
  119.             db  1101b       ;45?
  120.             db  0           ;46
  121.             db  0           ;47
  122. .v3:
  123.                               ;       48   49   50    51    52    53   54   55
  124.             db  010100b     ;48    XXX   XX   XX    XX   XXXX   XX   XXX  XX
  125.             db  000011b     ;49       X   X     X     X     X    X     X    X
  126.             db  010001b     ;50       X   X      X    X         X      X    X
  127.             db  000101b     ;51           X      X    X        X           X
  128.             db  110000b     ;52
  129.             db  000111b     ;53
  130.             db  001100b     ;54
  131.             db  010101b     ;55
  132.             db  0, 0, 0, 0              ;56..59
  133.             db  0, 0, 0, 0              ;60..63
  134. .v4:
  135.                               ;       64   65   66    67     68    69
  136.             db  01010001b   ;64:   XX    XX  XXXX   Y      XX    XX
  137.             db  01000101b   ;65:     X     X     X  X        X     X
  138.             db  01010000b   ;66:      X    X     X   X    XXX    XXX
  139.             db  01010010b   ;67:      X    X          X
  140.             db  00011101b   ;68:     X    X           X
  141.             db  00110101b   ;69:                     X
  142.             db  0           ;70:
  143.             db  0           ;71:
  144.             db  0, 0, 0, 0              ;72..75
  145.             db  0, 0, 0, 0              ;76..79
  146.  
  147.  
  148. .v5:
  149.             db  00000001b, 01b          ;80: )(
  150.             db  00000001b, 10b          ;81: /7X
  151.             db  01000101b, 01b          ;82: 8u
  152.             db  01010100b, 01b          ;83: BPRa
  153.             db  00000010b, 01b          ;84: \X&
  154.             db  00010100b, 00b          ;85: ahnu—
  155.             db  10111000b, 00b          ;86:
  156.             db  0, 0                    ;87:
  157.  
  158. .v6:
  159.             db  01000000b, 0101b        ;88: Jfg
  160.             db  01010100b, 0001b        ;89:
  161.             db  0, 0, 0, 0              ;90,91
  162.             db  0, 0, 0, 0              ;92,93
  163.             db  0, 0, 0, 0              ;94,95
  164. .v7:
  165.             db  11011001b, 011001b      ;96: ><vVY
  166.             db  00010001b, 010001b      ;97: ..none found
  167.             db  00010100b, 000101b      ;98: bcdpqg
  168.             db  0, 0                          ;99:
  169.             db  0, 0, 0, 0              ;100,101
  170.             db  0, 0, 0, 0              ;102,103
  171. .v8:
  172.             db  00110000b, 00001100b    ;104: 5
  173.             db  0, 0                    ;105
  174.             db  0, 0, 0, 0, 0, 0        ;106..108
  175.             db  0, 0, 0, 0, 0, 0        ;109..111
  176.  
  177. .v9:
  178.             db  0, 0, 0                 ;112:
  179.             db  0, 0, 0                 ;113:
  180.             db  0, 0, 0                 ;114:
  181.             db  0, 0, 0                 ;115:
  182. .v10:
  183.             db  00010100b, 01010000b, 0100b     ;116: @0CGOQ
  184.             db  01010100b, 01010001b, 0100b     ;117: 689
  185.             db  0, 0, 0                         ;118:
  186.             db  0, 0, 0                         ;119:
  187. .v11:
  188.             db  10100000b, 01010010b, 000001b   ; 120: $s
  189.             db  0, 0, 0                         ;121:
  190.             db  0, 0, 0                         ;122:
  191.             db  0, 0, 0                         ;123:
  192. .v12:
  193.             db  0, 0, 0                 ;124:
  194.             db  0, 0, 0                         ;125:
  195.             db  0, 0, 0                         ;126:
  196.             db  0, 0, 0                         ;127:
  197. .v13:
  198.         ; WARNING: 13-16 vertex fields not implemented yet!
  199.  
  200.  
  201. align 4
  202. .table0:
  203.  
  204. diff16 "sdsh_data.table0: ",0,$
  205.  
  206.    times 33 dw 0
  207.         dw (.ch0_33 -.chars)*16 + 2         ; #33 !
  208.         dw (.ch0_34 -.chars)*16 + 2         ; #34 "
  209.         dw (.ch0_35 -.chars)*16 + 4         ; #35 #
  210.         dw (.ch0_36 -.chars)*16 + 2         ; #36 $
  211.         dw (.ch0_37 -.chars)*16 + 3         ; #37 %
  212.         dw (.ch0_38 -.chars)*16 + 4         ; #38 &
  213.         dw (.ch0_39 -.chars)*16 + 1         ; #39 '
  214.         dw (.ch0_40 -.chars)*16 + 1         ; #40 (
  215.         dw (.ch0_41 -.chars)*16 + 1         ; #41 )
  216.         dw (.ch0_42 -.chars)*16 + 3         ; #42 *
  217.         dw (.ch0_43 -.chars)*16 + 2         ; #43 +
  218.         dw (.ch0_44 -.chars)*16 + 2         ; #44 ,
  219.         dw (.ch0_45 -.chars)*16 + 1         ; #45 -
  220.         dw (.ch0_46 -.chars)*16 + 1         ; #46 .
  221.         dw (.ch0_47 -.chars)*16 + 1         ; #47 /
  222.         dw (.ch0_48 -.chars)*16 + 2         ; #48 0
  223.         dw (.ch0_49 -.chars)*16 + 2         ; #49 1
  224.         dw (.ch0_50 -.chars)*16 + 3         ; #50 2
  225.         dw (.ch0_51 -.chars)*16 + 3         ; #51 3
  226.         dw (.ch0_52 -.chars)*16 + 3         ; #52 4
  227.         dw (.ch0_53 -.chars)*16 + 2         ; #53 5
  228.         dw (.ch0_54 -.chars)*16 + 2         ; #54 6
  229.         dw (.ch0_55 -.chars)*16 + 2         ; #55 7
  230.         dw (.ch0_56 -.chars)*16 + 2         ; #56 8
  231.         dw (.ch0_57 -.chars)*16 + 2         ; #57 9
  232.         dw (.ch0_58 -.chars)*16 + 2         ; #58 :
  233.         dw (.ch0_59 -.chars)*16 + 3         ; #59 ;
  234.         dw (.ch0_60 -.chars)*16 + 1         ; #60 <
  235.         dw (.ch0_61 -.chars)*16 + 2         ; #61 =
  236.         dw (.ch0_62 -.chars)*16 + 1         ; #62 >
  237.         dw (.ch0_63 -.chars)*16 + 3         ; #63 ?
  238.         dw (.ch0_64 -.chars)*16 + 2         ; #64 @
  239.         dw (.ch0_65 -.chars)*16 + 4         ; #65 A
  240.         dw (.ch0_66 -.chars)*16 + 3         ; #66 B
  241.         dw (.ch0_67 -.chars)*16 + 2         ; #67 C
  242.         dw (.ch0_68 -.chars)*16 + 2         ; #68 D
  243.         dw (.ch0_69 -.chars)*16 + 4         ; #69 E
  244.         dw (.ch0_70 -.chars)*16 + 3         ; #70 F
  245.         dw (.ch0_71 -.chars)*16 + 2         ; #71 G
  246.         dw (.ch0_72 -.chars)*16 + 3         ; #72 H
  247.         dw (.ch0_73 -.chars)*16 + 3         ; #73 I
  248.         dw (.ch0_74 -.chars)*16 + 2         ; #74 J
  249.         dw (.ch0_75 -.chars)*16 + 3         ; #75 K
  250.         dw (.ch0_76 -.chars)*16 + 2         ; #76 L
  251.         dw (.ch0_77 -.chars)*16 + 4         ; #77 M
  252.         dw (.ch0_78 -.chars)*16 + 3         ; #78 N
  253.         dw (.ch0_79 -.chars)*16 + 2         ; #79 O
  254.         dw (.ch0_80 -.chars)*16 + 2         ; #80 P
  255.         dw (.ch0_81 -.chars)*16 + 3         ; #81 Q
  256.         dw (.ch0_82 -.chars)*16 + 3         ; #82 R
  257.         dw (.ch0_83 -.chars)*16 + 3         ; #83 S
  258.         dw (.ch0_84 -.chars)*16 + 3         ; #84 T
  259.         dw (.ch0_85 -.chars)*16 + 3         ; #85 U
  260.         dw (.ch0_86 -.chars)*16 + 3         ; #86 V
  261.         dw (.ch0_87 -.chars)*16 + 3         ; #87 W
  262.         dw (.ch0_88 -.chars)*16 + 2         ; #88 X
  263.         dw (.ch0_89 -.chars)*16 + 2         ; #88 Y
  264.         dw (.ch0_90 -.chars)*16 + 3         ; #90 Z
  265.         dw (.ch0_91 -.chars)*16 + 3         ; #91 [
  266.         dw (.ch0_92 -.chars)*16 + 1         ; #92 \
  267.         dw (.ch0_93 -.chars)*16 + 3         ; #93 ]
  268.         dw (.ch0_94 -.chars)*16 + 1         ; #94 ^
  269.         dw (.ch0_95 -.chars)*16 + 1         ; #95 _
  270.         dw (.ch0_96 -.chars)*16 + 1         ; #96 `
  271.         dw (.ch0_97 -.chars)*16 + 2         ; #97  a
  272.         dw (.ch0_98 -.chars)*16 + 2         ; #98  b
  273.         dw (.ch0_99 -.chars)*16 + 3         ; #99  c
  274.         dw (.ch0_100-.chars)*16 + 2         ; #100 d
  275.         dw (.ch0_101-.chars)*16 + 2         ; #101 e
  276.         dw (.ch0_102-.chars)*16 + 3         ; #102 f
  277.         dw (.ch0_103-.chars)*16 + 2         ; #103 g
  278.         dw (.ch0_104-.chars)*16 + 2         ; #104 h
  279.         dw (.ch0_105-.chars)*16 + 3         ; #105 i
  280.         dw (.ch0_106-.chars)*16 + 3         ; #106 j
  281.         dw (.ch0_107-.chars)*16 + 2         ; #107 k
  282.         dw (.ch0_108-.chars)*16 + 3         ; #108 l
  283.         dw (.ch0_109-.chars)*16 + 4         ; #109 m
  284.         dw (.ch0_110-.chars)*16 + 2         ; #110 m
  285.         dw (.ch0_111-.chars)*16 + 1         ; #111 o
  286.         dw (.ch0_112-.chars)*16 + 2         ; #112 p
  287.         dw (.ch0_113-.chars)*16 + 2         ; #113 q
  288.         dw (.ch0_114-.chars)*16 + 2         ; #114 r
  289.         dw (.ch0_115-.chars)*16 + 1         ; #115 s
  290.         dw (.ch0_116-.chars)*16 + 3         ; #116 t
  291.         dw (.ch0_117-.chars)*16 + 2         ; #117 u
  292.         dw (.ch0_118-.chars)*16 + 1         ; #118 v
  293.         dw (.ch0_119-.chars)*16 + 4         ; #119 w
  294.         dw (.ch0_120-.chars)*16 + 2         ; #120 x
  295.         dw (.ch0_121-.chars)*16 + 2         ; #121 y
  296.         dw (.ch0_122-.chars)*16 + 3         ; #122 z
  297.         dw (.ch0_123-.chars)*16 + 2         ; #123 {
  298.         dw (.ch0_124-.chars)*16 + 1         ; #124 |
  299.         dw (.ch0_125-.chars)*16 + 2         ; #125 }
  300.         dw (.ch0_126-.chars)*16 + 2         ; #126 ~
  301.         dw (.ch0_127-.chars)*16 + 2         ; #127
  302.  
  303.         dw (.ch0_128-.chars)*16 + 4         ; #128
  304.         dw (.ch0_129-.chars)*16 + 3         ; #129
  305.         dw (.ch0_130-.chars)*16 + 3         ; #130
  306.         dw (.ch0_131-.chars)*16 + 2         ; #131
  307.         dw (.ch0_132-.chars)*16 + 6         ; #132
  308.         dw (.ch0_133-.chars)*16 + 4         ; #133
  309.         dw (.ch0_134-.chars)*16 + 3         ; #134
  310.         dw (.ch0_135-.chars)*16 + 3         ; #135
  311.         dw (.ch0_136-.chars)*16 + 3         ; #136
  312.         dw (.ch0_137-.chars)*16 + 4         ; #137
  313.         dw (.ch0_138-.chars)*16 + 3         ; #138
  314.         dw (.ch0_139-.chars)*16 + 3         ; #139
  315.         dw (.ch0_140-.chars)*16 + 4         ; #140
  316.         dw (.ch0_141-.chars)*16 + 4         ; #141
  317.         dw (.ch0_142-.chars)*16 + 2         ; #142
  318.         dw (.ch0_143-.chars)*16 + 3         ; #143
  319.         dw (.ch0_144-.chars)*16 + 2         ; #144
  320.         dw (.ch0_145-.chars)*16 + 2         ; #145
  321.         dw (.ch0_146-.chars)*16 + 3         ; #146
  322.         dw (.ch0_147-.chars)*16 + 3         ; #147
  323.         dw (.ch0_148-.chars)*16 + 3         ; #148
  324.         dw (.ch0_149-.chars)*16 + 2         ; #149
  325.         dw (.ch0_150-.chars)*16 + 4         ; #150
  326.         dw (.ch0_151-.chars)*16 + 2         ; #151
  327.         dw (.ch0_152-.chars)*16 + 4         ; #152
  328.         dw (.ch0_153-.chars)*16 + 5         ; #153
  329.         dw (.ch0_154-.chars)*16 + 3         ; #154
  330.         dw (.ch0_155-.chars)*16 + 3         ; #155
  331.         dw (.ch0_156-.chars)*16 + 2         ; #156
  332.         dw (.ch0_157-.chars)*16 + 3         ; #157
  333.         dw (.ch0_158-.chars)*16 + 4         ; #158
  334.         dw (.ch0_159-.chars)*16 + 3         ; #159
  335.         dw (.ch0_160-.chars)*16 + 2         ; #160
  336.         dw (.ch0_161-.chars)*16 + 2         ; #161
  337.         dw (.ch0_162-.chars)*16 + 3         ; #162
  338.         dw (.ch0_163-.chars)*16 + 2         ; #163
  339.         dw (.ch0_164-.chars)*16 + 4         ; #164
  340.         dw (.ch0_165-.chars)*16 + 2         ; #165
  341.         dw (.ch0_166-.chars)*16 + 3         ; #166
  342.         dw (.ch0_167-.chars)*16 + 3         ; #167
  343.         dw (.ch0_168-.chars)*16 + 3         ; #168
  344.         dw (.ch0_169-.chars)*16 + 4         ; #169
  345.         dw (.ch0_170-.chars)*16 + 3         ; #170
  346.         dw (.ch0_171-.chars)*16 + 2         ; #171
  347.         dw (.ch0_172-.chars)*16 + 3         ; #172
  348.         dw (.ch0_173-.chars)*16 + 3         ; #173
  349.         dw (.ch0_174-.chars)*16 + 1         ; #174
  350.         dw (.ch0_175-.chars)*16 + 3         ; #175
  351.         dw (.ch0_176-.chars)*16 + 4         ; #176
  352.         dw (.ch0_177-.chars)*16 + 6         ; #177
  353.         dw (.ch0_178-.chars)*16 + 8         ; #178
  354.         dw (.ch0_179-.chars)*16 + 1         ; #179
  355.         dw (.ch0_180-.chars)*16 + 2         ; #180
  356.         dw (.ch0_181-.chars)*16 + 3         ; #181
  357.         dw (.ch0_182-.chars)*16 + 3         ; #182
  358.         dw (.ch0_183-.chars)*16 + 3         ; #183
  359.         dw (.ch0_184-.chars)*16 + 3         ; #184
  360.         dw (.ch0_185-.chars)*16 + 3         ; #185
  361.         dw (.ch0_186-.chars)*16 + 2         ; #186
  362.         dw (.ch0_187-.chars)*16 + 3         ; #187
  363.         dw (.ch0_188-.chars)*16 + 4         ; #188
  364.         dw (.ch0_189-.chars)*16 + 3         ; #189
  365.         dw (.ch0_190-.chars)*16 + 2         ; #190
  366.         dw (.ch0_191-.chars)*16 + 2         ; #191
  367.         dw (.ch0_192-.chars)*16 + 2         ; #192
  368.         dw (.ch0_193-.chars)*16 + 2         ; #193
  369.         dw (.ch0_194-.chars)*16 + 2         ; #194
  370.         dw (.ch0_195-.chars)*16 + 2         ; #195
  371.         dw (.ch0_196-.chars)*16 + 1         ; #196
  372.         dw (.ch0_197-.chars)*16 + 2         ; #197
  373.         dw (.ch0_198-.chars)*16 + 2         ; #198
  374.         dw (.ch0_199-.chars)*16 + 3         ; #199
  375.         dw (.ch0_200-.chars)*16 + 3         ; #200
  376.         dw (.ch0_201-.chars)*16 + 3         ; #201
  377.         dw (.ch0_202-.chars)*16 + 3         ; #202
  378.         dw (.ch0_203-.chars)*16 + 3         ; #203
  379.         dw (.ch0_204-.chars)*16 + 3         ; #204
  380.         dw (.ch0_205-.chars)*16 + 2         ; #205
  381.         dw (.ch0_206-.chars)*16 + 4         ; #206
  382.         dw (.ch0_207-.chars)*16 + 3         ; #207
  383.         dw (.ch0_208-.chars)*16 + 3         ; #208
  384.         dw (.ch0_209-.chars)*16 + 3         ; #209
  385.         dw (.ch0_210-.chars)*16 + 3         ; #210
  386.         dw (.ch0_211-.chars)*16 + 3         ; #211
  387.         dw (.ch0_212-.chars)*16 + 2         ; #212
  388.         dw (.ch0_213-.chars)*16 + 2         ; #213
  389.         dw (.ch0_214-.chars)*16 + 3         ; #214
  390.         dw (.ch0_215-.chars)*16 + 4         ; #215
  391.         dw (.ch0_216-.chars)*16 + 4         ; #216
  392.         dw (.ch0_217-.chars)*16 + 2         ; #217
  393.         dw (.ch0_218-.chars)*16 + 2         ; #218
  394.    times 5 dw 0                             ; #219-223
  395.         dw (.ch0_224-.chars)*16 + 2         ; #224 p
  396.         dw (.ch0_225-.chars)*16 + 3         ; #225 c
  397.         dw (.ch0_226-.chars)*16 + 2         ; #226 â
  398.         dw (.ch0_227-.chars)*16 + 3         ; #227 ã
  399.         dw (.ch0_228-.chars)*16 + 2         ; #228 ä
  400.         dw (.ch0_229-.chars)*16 + 2         ; #229 å
  401.         dw (.ch0_230-.chars)*16 + 3         ; #230 æ
  402.         dw (.ch0_231-.chars)*16 + 2         ; #231 ç
  403.         dw (.ch0_232-.chars)*16 + 4         ; #232 è
  404.         dw (.ch0_233-.chars)*16 + 5         ; #233 é
  405.         dw (.ch0_234-.chars)*16 + 2         ; #234 ê
  406.         dw (.ch0_235-.chars)*16 + 3         ; #235 ë
  407.         dw (.ch0_236-.chars)*16 + 2         ; #236 ì
  408.         dw (.ch0_237-.chars)*16 + 3         ; #237 í
  409.         dw (.ch0_238-.chars)*16 + 3         ; #238 î
  410.         dw (.ch0_239-.chars)*16 + 3         ; #239 ï
  411.         dw (.ch0_240-.chars)*16 + 5         ; #240 ð
  412.         dw (.ch0_241-.chars)*16 + 4         ; #241 ñ
  413.    times 14 dw 0                            ; #242-255
  414. diff10 "check font0 table size: ", .table0, $
  415.  
  416. ; ----------------------------------------------------
  417. align 4
  418.  
  419. diff16 "sdsh_data.chars: ",0,$
  420.  
  421. .chars:
  422.     dw  0
  423. .ch0_33:    ; !
  424.     ritick      2, 2, 0
  425.     lntick      2, 4, 2, 5
  426. .ch0_34:    ; "
  427. .ch0_39:    ; '
  428.     lntick      3, 8, 2, 2
  429.     lntick      1, 8, 2, 2
  430. .ch0_36:    ; $
  431.     lntick      2, 1, 2, 7
  432.     gptick     11, 0, 120
  433. .ch0_37:    ; %
  434.     cstick      0, 8, 0, 0
  435.     lntick      0, 3, 1, 5
  436.     cstick      3, 3, 0, 0
  437. .ch0_38:    ; &
  438.     gptick      7, 6, 84
  439.     gptick     19, 4, 44
  440. .ch0_40:    ; (
  441.     gptick      5, 3, 80
  442. .ch0_41:    ; )
  443.     gptick      9, 7, 80
  444. .ch0_42:    ; *
  445.     gptick      3, 7, 39
  446.     gptick     10, 3, 39
  447.     lntick      2, 3, 2, 5
  448. .ch0_43:    ; +
  449.     lntick      2, 2, 2, 5
  450. .ch0_45:    ; -
  451. .ch0_35:    ; #
  452. .ch0_61:    ; =
  453.     lntick      0, 4, 0, 5
  454.     lntick      0, 6, 0, 5
  455.     lntick      1, 3, 2, 5
  456.     lntick      3, 3, 2, 5
  457. .ch0_58:    ; :
  458. .ch0_59:    ; ;
  459.     cstick      1, 7, 0, 0
  460. .ch0_46:    ; .
  461. .ch0_44:    ; ,
  462.     cstick      1, 3, 0, 0
  463.     ritick      1, 1, 0
  464. .ch0_47:    ; /
  465. .ch0_55:    ; 7
  466.     gptick      1, 2, 81
  467.     lntick      0, 8, 0, 4
  468. .ch0_64:    ; @
  469.     cstick      3, 6, 0, 1
  470. .ch0_48:    ; 0
  471. .ch0_79:    ; O
  472. .ch0_142:   ;
  473. .ch0_81:    ; Q
  474.     gptick      5, 4, 116
  475.     lntick      4, 3, 2, 5
  476.     lntick      3, 1, 0, 2
  477. .ch0_49:    ; 1
  478. .ch0_124:   ; |
  479.     lntick      2, 2, 2, 7
  480.     ritick      1, 6, 0
  481. .ch0_50:    ; 2
  482.     lntick      0, 2, 0, 5
  483.     lntick      1, 3, 1, 3
  484. .ch0_51:    ; 3
  485.     gptick      8, 1, 64
  486. .ch0_83:    ; S
  487.     lntick      1, 5, 0, 3
  488.     gptick      8, 1, 55
  489. .ch0_53:    ; 5
  490.     gptick     10, 6, 65
  491.     gptick     13, 4, 104
  492. .ch0_52:    ; 4
  493.     gptick     14, 2, 38
  494.     lntick      0, 4, 0, 5
  495.     lntick      3, 2, 2, 7
  496. .ch0_54:    ; 6
  497.     gptick     14, 0, 117
  498.     gptick      2, 2, 50
  499. .ch0_56:    ; 8
  500.     gptick     10, 6, 82
  501. .ch0_57:    ; 9
  502.     gptick      9, 0, 117
  503.     gptick     15, 6, 50
  504. .ch0_60:    ; <
  505.     gptick      7, 4, 96
  506. .ch0_62:    ; >
  507.     gptick      8, 0, 96
  508. .ch0_63:    ; ?
  509.     gptick      7, 1, 64
  510.  
  511. .ch0_66:    ; B
  512. .ch0_130:   ; B
  513.     gptick     10, 6, 51
  514. .ch0_80:    ; P
  515. .ch0_144:   ;
  516. .ch0_82:    ; R
  517.     gptick      9, 0, 83
  518. .ch0_75:    ; K
  519. .ch0_138:   ; K
  520.     lntick      0, 2, 2, 7
  521.     lntick      4, 2, 3, 3
  522.     lntick      1, 5, 1, 4
  523. .ch0_67:    ; C
  524. .ch0_145:   ;
  525.     ritick      5, 3, 0
  526. .ch0_71:    ; G
  527.     gptick      5, 4, 116
  528.     gptick      4, 5, 49
  529. .ch0_68:    ; D
  530.     gptick      9, 0, 96
  531. .ch0_76:    ; L
  532.     lntick      0, 2, 2, 7
  533.     lntick      1, 2, 0, 4
  534. .ch0_240:   ; ð
  535.     ritick      1, 9, 0
  536.     ritick      3, 9, 0
  537. .ch0_133:   ; E
  538. .ch0_69:    ; E
  539.     lntick      1, 2, 0, 4
  540. .ch0_70:    ; F
  541.     lntick      1, 8, 0, 4
  542. .ch0_72:    ; H
  543. .ch0_141:   ; H
  544.     lntick      1, 5, 0, 3
  545.     lntick      0, 2, 2, 7
  546.     lntick      5, 5, 2, 7
  547. .ch0_73:    ; I
  548.     lntick      1, 8, 0, 3
  549.     lntick      2, 3, 2, 5
  550.     lntick      1, 2, 0, 3
  551. .ch0_74:    ; J
  552.     gptick     31, 6, 88
  553.     lntick      3, 8, 0, 3
  554. .ch0_84:    ; T
  555. .ch0_146:   ; ’
  556.     lntick      3, 3, 2, 5
  557.     lntick      2, 2, 0, 3
  558.     lntick      1, 8, 0, 5
  559. .ch0_77:    ; M
  560. .ch0_140:   ; M
  561.     gptick      21, 2, 38
  562.     ritick      1, 7, 0
  563. .ch0_78:    ; N
  564.     lntick      0, 2, 2, 7
  565.     lntick      4, 2, 2, 7
  566.     lntick      3, 4, 3, 3
  567. .ch0_85:    ; U
  568.     lntick      1, 2, 0, 3
  569. .ch0_87:    ; W
  570.     lntick      0, 3, 2, 6
  571.     lntick      4, 3, 2, 6
  572.     gptick      1, 1, 54
  573. .ch0_86:    ; V
  574.     lntick      0, 7, 2, 2
  575.     lntick      4, 7, 2, 2
  576. .ch0_118:   ; v
  577. .ch0_121:   ; y
  578.     gptick     12, 6, 96
  579.     lntick      2, 0, 2, 2
  580. .ch0_88:    ; X
  581. .ch0_149:   ;
  582.     gptick      1, 2, 81
  583.     gptick      4, 6, 84
  584. .ch0_89:    ; Y
  585.     gptick     18, 6, 96
  586.     lntick      2, 2, 2, 2
  587. .ch0_90:    ; Z
  588.     lntick      0, 2, 0, 5
  589.     lntick      0, 8, 0, 5
  590.     lntick      0, 3, 1, 5
  591. .ch0_92:    ; \
  592.     gptick      4, 6, 84
  593. .ch0_91:    ; [
  594.     lntick      1, 3, 2, 5
  595. .ch0_93:    ; ]
  596.     lntick      1, 2, 0, 3
  597.     lntick      1, 8, 0, 3
  598.     lntick      3, 3, 2, 5
  599. .ch0_65:    ; A
  600. .ch0_128:   ;
  601.     lntick      0, 2, 2, 4
  602.     lntick      4, 2, 2, 4
  603.     lntick      1, 4, 0, 3
  604. .ch0_94:    ; ^
  605.     gptick      3, 1, 54
  606. .ch0_95:    ; _
  607.     lntick      0, 1, 0, 5
  608. .ch0_96:    ; `
  609.     lntick      3, 8, 3, 2
  610. .ch0_97:    ; a
  611. .ch0_160:   ;
  612.     gptick      5, 4, 83
  613.     gptick     16, 0, 85
  614. .ch0_129:   ;
  615.     lntick      1, 8, 0, 3
  616. .ch0_98:    ; b
  617.     lntick      0, 2, 2, 7
  618. .ch0_112:   ; p
  619. .ch0_224:   ; p
  620.     gptick     16, 0, 98
  621.     lntick      0, 0, 2, 7
  622. .ch0_99:    ; c
  623. .ch0_225:   ; c
  624.     ritick      4, 5, 0
  625.     ritick      4, 2, 0
  626. .ch0_101:   ; e
  627. .ch0_165:   ;
  628. .ch0_241:   ; ñ
  629.     gptick      5, 4, 98
  630.     gptick     15, 6, 49
  631.     ritick      1, 8, 0
  632.     ritick      3, 8, 0
  633. .ch0_100:   ; d
  634.     lntick      4, 2, 2, 7
  635. .ch0_113:   ; q
  636.     gptick      5, 4, 98
  637.     lntick      4, 0, 2, 7
  638. .ch0_102:   ; f
  639.     gptick     17, 2, 88
  640.     ritick      1, 2, 0
  641.     lntick      0, 6, 0, 3
  642. .ch0_103:   ; g
  643.     gptick     15, 6, 88
  644.     gptick      5, 4, 98
  645. .ch0_104:   ; h
  646.     gptick     16, 0, 85
  647. .ch0_107:   ; k
  648.     lntick      0, 2, 2, 7
  649.     gptick      5, 3, 54
  650. .ch0_105:   ; i
  651.     lntick      1, 2, 0, 3
  652. .ch0_106:   ; j
  653.     gptick     16, 0, 49
  654.     ritick      2, 8, 0
  655.     gptick     19, 5, 38
  656. .ch0_108:   ; l
  657.     lntick      1, 2, 0, 3
  658.     lntick      2, 3, 2, 6
  659.     ritick      1, 8, 0
  660. .ch0_109:   ; m
  661.     lntick      2, 3, 2, 2
  662.     gptick     20, 5, 39
  663.     lntick      4, 2, 2, 4
  664. .ch0_110:   ; n
  665.     lntick      0, 2, 2, 5
  666.     gptick     16, 0, 85
  667. .ch0_114:   ; r
  668.     lntick      1, 2, 2, 5
  669.     gptick     21, 1, 38
  670. .ch0_115:   ; s
  671.     gptick      1, 0, 120
  672. .ch0_116:   ; t
  673.     gptick     16, 0, 49
  674.     gptick     20, 3, 38
  675.     lntick      3, 2, 0, 2
  676. .ch0_117:   ; u
  677. .ch0_227:   ; ã
  678.     lntick      4, 2, 2, 5
  679.     gptick      5, 4, 85
  680.     gptick     29, 5, 42
  681. .ch0_119:   ; w
  682.     lntick      2, 4, 2, 2
  683.     gptick     22, 1, 39
  684.     lntick      0, 3, 2, 4
  685.     lntick      4, 3, 2, 4
  686. .ch0_120:   ; x
  687.     lntick      0, 2, 1, 5
  688.     lntick      4, 2, 3, 5
  689. .ch0_122:   ; z
  690.     lntick      0, 2, 0, 5
  691.     lntick      0, 6, 0, 5
  692.     lntick      1, 2, 3, 3
  693. .ch0_123:   ; {
  694.     gptick      5, 3, 43
  695.     gptick     23, 2, 38
  696. .ch0_125:   ; }
  697.     gptick     13, 3, 43
  698.     gptick     24, 6, 38
  699. .ch0_126:   ; ~
  700.     gptick      2, 1, 39
  701.     lntick      3, 3, 1, 2
  702. .ch0_127:   ;
  703.     lntick      2, 2, 2, 3
  704.     lntick      2, 6, 2, 3
  705. .ch0_131:   ;
  706.     lntick      1, 8, 0, 4
  707. .ch0_132:   ;
  708.     lntick      1, 3, 2, 5
  709.     lntick      1, 8, 0, 4
  710.     lntick      0, 1, 2, 2
  711. .ch0_150:   ;
  712.     lntick      0, 2, 0, 5
  713.     lntick      3, 3, 2, 6
  714.     ritick      4, 1, 0
  715.     lntick      0, 3, 2, 6
  716. .ch0_134:   ;
  717.     gptick      4, 6, 86
  718.     gptick      6, 2, 86
  719. .ch0_148:   ;
  720.     lntick      2, 2, 2, 7
  721.     cstick      1, 8, 0, 3
  722. .ch0_137:   ;
  723.     gptick     25, 2, 39
  724. .ch0_136:   ;
  725.     lntick      0, 2, 2, 7
  726.     lntick      1, 4, 1, 3
  727. .ch0_139:   ;
  728.     lntick      4, 2, 2, 7
  729.     gptick     26, 2, 66
  730.     lntick      0, 2, 1, 2
  731. .ch0_143:   ;
  732.     lntick      0, 2, 2, 7
  733.     lntick      1, 8, 0, 3
  734. .ch0_151:   ;
  735.     lntick      4, 2, 2, 7
  736. .ch0_147:   ;
  737.     gptick     27, 4, 85
  738.     lntick      4, 3, 2, 6
  739.     lntick      1, 2, 0, 3
  740. .ch0_155:   ;
  741.     lntick     16, 0, 82
  742. .ch0_152:   ;
  743. .ch0_153:   ;
  744.     lntick      0, 3, 2, 6
  745.     lntick      4, 2, 2, 7
  746.     lntick      2, 3, 2, 6
  747.     lntick      0, 2, 0, 5
  748.     lntick      4, 1, 2, 2
  749. .ch0_154:   ;
  750. .ch0_156:   ;
  751.     lntick     26, 0, 82
  752.     lntick      1, 3, 2, 6
  753.     ritick      0, 8, 0
  754. .ch0_135:   ;
  755.     ritick      3, 5, 0
  756. .ch0_157:   ;
  757.     gptick      8, 1, 64
  758.     gptick     10, 6, 65
  759.     lntick      1, 5, 0, 4
  760. .ch0_158:   ;
  761.     gptick     28, 7, 80
  762.     lntick      2, 3, 2, 5
  763.     lntick      0, 2, 2, 7
  764.     ritick      1, 5, 0
  765. .ch0_159:   ;
  766.     gptick     13, 4, 89
  767.     lntick      4, 2, 2, 7
  768.     lntick      0, 2, 1, 3
  769. .ch0_161:   ;
  770.     gptick      8, 1, 42
  771. .ch0_162:   ;
  772. .ch0_111:   ; o
  773. .ch0_174:   ;
  774.     cstick      1, 6, 0, 3
  775.     gptick      3, 2, 44
  776.     ritick      2, 7, 0
  777. .ch0_163:   ;
  778.     lntick      1, 6, 0, 4
  779. .ch0_164:   ;
  780.     lntick      1, 2, 2, 4
  781.     gptick     23, 0, 49
  782.     gptick     19, 0, 41
  783.     lntick      0, 1, 2, 2
  784. .ch0_166:   ;
  785.     gptick     12, 6, 82
  786.     gptick      1, 2, 82
  787.     lntick      2, 2, 2, 5
  788. .ch0_167:   ;
  789.     lntick      2, 4, 0, 2
  790. .ch0_237:   ;
  791.     gptick      2, 1, 50
  792.     gptick      7, 5, 50
  793.     lntick      2, 4, 0, 3
  794. .ch0_169:   ;
  795.     gptick     28, 5, 39
  796. .ch0_168:   ;
  797.     lntick      4, 2, 2, 5
  798.     lntick      1, 3, 1, 3
  799. .ch0_170:   ;
  800.     lntick      1, 2, 2, 5
  801.     gptick      6, 3, 54
  802.     ritick      1, 5, 0
  803. .ch0_171:   ;
  804.     gptick      1, 1, 67
  805. .ch0_172:   ;
  806.     lntick      4, 2, 2, 5
  807.     gptick     13, 5, 39
  808. .ch0_173:   ;
  809.     lntick      0, 2, 2, 5
  810.     lntick      1, 4, 0, 3
  811. .ch0_175:   ;
  812.     lntick      4, 2, 2, 5
  813.     lntick      0, 2, 2, 4
  814. .ch0_226:   ;
  815.     lntick      0, 6, 0, 5
  816.     lntick      2, 2, 2, 4
  817. .ch0_228:   ; ä
  818.     cstick      1, 6, 0, 3
  819.     lntick      2, 0, 2, 6
  820. .ch0_229:   ; å
  821.     lntick      0, 2, 1, 5
  822.     lntick      4, 2, 3, 5
  823. .ch0_230:   ; æ
  824.     lntick      0, 2, 2, 5
  825.     lntick      3, 3, 2, 4
  826.     gptick     22, 0, 52
  827. .ch0_231:   ; ç
  828.     gptick     27, 4, 48
  829. .ch0_232:   ; è
  830. .ch0_233:   ; é
  831.     lntick      4, 2, 2, 5
  832.     lntick      0, 3, 2, 4
  833.     lntick      2, 3, 2, 4
  834.     lntick      0, 2, 0, 4
  835.     lntick      5, 1, 2, 2
  836. .ch0_234:   ; ê
  837.     gptick     24, 0, 68
  838.     gptick      6, 0, 49
  839. .ch0_235:   ; ë
  840. .ch0_236:   ; ì
  841.     lntick      0, 3, 2, 4
  842.     gptick     26, 0, 68
  843.     lntick      4, 2, 2, 5
  844. .ch0_238:   ; î
  845.     gptick     24, 2, 68
  846.     lntick      3, 2, 3, 3
  847.     lntick      0, 2, 2, 5
  848. .ch0_239:   ; ï
  849.     gptick     26, 3, 53
  850.     lntick      4, 2, 2, 5
  851.     gptick      1, 1, 40
  852.  
  853. .ch0_178:   ; pseudo-graphics
  854.     ritick      0, 8, 0
  855.     lntick      0, 5, 1, 4
  856.     lntick      0, 2, 1, 5
  857.     lntick      1, 0, 1, 4
  858. .ch0_176:   ;
  859.     lntick      0, 4, 1, 5
  860.     lntick      2, 0, 1, 3
  861. .ch0_177:   ;
  862.     lntick      0, 7, 1, 2
  863.     lntick      0, 1, 1, 5
  864.     lntick      0, 3, 1, 4
  865.     lntick      0, 5, 1, 4
  866.     lntick      1, 0, 1, 4
  867.     lntick      3, 0, 1, 2
  868. .ch0_184:   ;
  869.     lntick      3, 0, 2, 6
  870. .ch0_181:   ;
  871.     lntick      0, 3, 0, 2
  872.     lntick      0, 5, 0, 2
  873. .ch0_179:   ;
  874. .ch0_180:   ;
  875.     lntick      2, 0, 2, 9
  876.     lntick      0, 4, 0, 2
  877. .ch0_183:   ;
  878.     lntick      0, 4, 0, 4
  879.     lntick      1, 0, 2, 4
  880.     lntick      3, 0, 2, 4
  881. .ch0_185:   ;
  882.     gptick     11, 0, 49
  883.     gptick      9, 6, 52
  884. .ch0_182:   ;
  885. .ch0_215:   ;
  886.     ritick      0, 4, 0
  887. .ch0_186:   ;
  888. .ch0_199:   ;
  889.     lntick      1, 0, 2, 9
  890.     lntick      3, 0, 2, 9
  891.     ritick      4, 4, 0
  892. .ch0_204:   ;
  893.     gptick     15, 4, 49
  894.     gptick     30, 2, 52
  895. .ch0_187:   ;
  896.     lntick      4, 0, 2, 5
  897.     lntick      0, 5, 0, 4
  898.     gptick     11, 0, 49
  899. .ch0_188:   ;
  900.     ritick      0, 5, 0
  901.     lntick      0, 3, 0, 4
  902. .ch0_189:   ;
  903.     lntick      4, 4, 2, 5
  904.     lntick      1, 5, 2, 4
  905.     lntick      0, 4, 0, 3
  906. .ch0_190:   ;
  907.     gptick      2, 0, 69
  908. .ch0_192:   ;
  909.     lntick      2, 5, 2, 4
  910.     lntick      2, 4, 0, 3
  911. .ch0_191:   ;
  912.     lntick      0, 4, 0, 3
  913. .ch0_194:   ;
  914.     lntick      2, 0, 2, 4
  915. .ch0_193:   ;
  916. .ch0_196:   ;
  917.     lntick      0, 4, 0, 5
  918.     lntick      2, 5, 2, 4
  919. .ch0_195:   ;
  920.     lntick      0, 3, 0, 2
  921. .ch0_197:   ;
  922.     lntick      2, 0, 2, 9
  923.     lntick      0, 4, 0, 5
  924. .ch0_198:   ;
  925.     lntick      2, 0, 2, 9
  926. .ch0_213:   ;
  927.     gptick      7, 4, 69
  928.     lntick      2, 0, 2, 4
  929. .ch0_200:   ;
  930.     gptick     15, 4, 49
  931.     lntick      1, 3, 0, 4
  932.     lntick      1, 4, 2, 5
  933. .ch0_201:   ;
  934.     gptick     30, 2, 52
  935.     lntick      1, 5, 0, 4
  936.     lntick      1, 0, 2, 5
  937. .ch0_207:   ;
  938. .ch0_216:   ;
  939.     lntick      2, 6, 2, 3
  940. .ch0_205:   ;
  941. .ch0_209:   ;
  942.     lntick      0, 3, 0, 5
  943.     lntick      0, 5, 0, 5
  944.     lntick      2, 0, 2, 3
  945. .ch0_202:   ;
  946.     lntick      0, 3, 0, 5
  947. .ch0_206:   ;
  948.     gptick      9, 6, 52
  949.     gptick     15, 4, 49
  950. .ch0_203:   ;
  951.     gptick     30, 2, 52
  952.     gptick     11, 0, 49
  953.     lntick      0, 5, 0, 5
  954. .ch0_211:   ;
  955.     lntick      1, 4, 0, 1
  956. .ch0_208:   ;
  957.     lntick      1, 5, 2, 4
  958.     lntick      3, 5, 2, 4
  959. .ch0_210:   ;
  960.     lntick      0, 4, 0, 5
  961. .ch0_214:   ;
  962.     lntick      1, 0, 2, 4
  963.     lntick      3, 0, 2, 4
  964.     lntick      1, 4, 0, 1
  965. .ch0_212:   ;
  966.     gptick      7, 4, 69
  967.     lntick      2, 6, 2, 3
  968. .ch0_217:   ;
  969.     lntick      0, 4, 0, 3
  970.     lntick      2, 5, 2, 4
  971. .ch0_218:   ;
  972.     lntick      2, 4, 0, 3
  973.     lntick      2, 0, 2, 4
  974.  
  975. diff10 "font0 size ", .chars, $
  976.  
  977.  
  978.