Subversion Repositories Kolibri OS

Rev

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