Subversion Repositories Kolibri OS

Rev

Rev 2522 | Rev 2972 | 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-12
  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. macro char_entry        charpos, wdbits, numticks
  28. {
  29.         dw (charpos - .chars)*16 + (wdbits mod 4)*8 + (numticks mod 8)
  30. }
  31.  
  32. ;align 8
  33. ;nsvf_data:
  34.  
  35. .numfonts   db  2               ; number of system fonts
  36. .numsptks   db  32              ; number of special ticks
  37. .numticks   dw  ?               ; total number of ticks
  38. .ticktble   dd  nsvf.tick_table ; general table
  39.  
  40. align 4
  41. ;   ---- special tickfields ----
  42. .blank      db  0, 0, 0, 0         ; for straight lines
  43. .cs2        db  11001100b,  111100b
  44. .cs3        db  00010100b,  01000101b,  0001b
  45. .cs0        db  1111b              ; 4-pix square
  46. .ri1        db  01010101b, 0101b   ; 8-pix ring (rot-invariant)
  47.  
  48. align 16
  49. nsvf_info:
  50.  
  51. ;    System font #0: 5x9
  52. .fnt0.x     db  5           ; + 0: X-width
  53. .fnt0.y     db  9           ; + 1: Y-heigth
  54. .fnt0.rs    dw  0           ; + 2: reserved
  55. .fnt0.tab   dd  nsvf00.table      ; + 4
  56. .fnt0.org   dd  nsvf00.origs      ; + 8
  57. .fnt0.chr   dd    nsvf00.chars      ; +12
  58.  
  59.  
  60. ;align 16
  61. ;;    System font #1: 7x10
  62. ;.fnt1.x     db  7           ; X-width
  63. ;.fnt1.y     db  9           ; Y-heigth
  64. ;.fnt1.rs    dw  0           ; reserved
  65. ;.fnt1.tab   dd  .table1
  66. ;.fnt1.org   dd  .origs1
  67.  
  68.  
  69. align 4
  70.  
  71. diff16 "sdsh_data.tick_table: ",0,$
  72.  
  73. nsvf:
  74. .tick_table:
  75.             db  0, 0, 0, 0, 0, 0        ;32..37 (reserved)
  76. .v1:
  77.                             ;  38   39
  78.             db  01b         ; XX    XX
  79.             db  11b         ;   X    X
  80. .v2:
  81.                             ;      40    41     42    43    44   45
  82.             db  0100b       ;40    XXX    XXX   XX    XX    XX   XX
  83.             db  1100b       ;41       X     X     X     XX    X    X
  84.             db  0001b       ;42                    X          X   X
  85.             db  1001b       ;43
  86.             db  0101b       ;44
  87.             db  1101b       ;45?
  88.             db  0           ;46
  89.             db  0           ;47
  90. .v3:
  91.                               ;             48   49   50    51    52    53   54   55    56
  92.             db  010100b     ;48    XXX   XX   XX    XX   XXXX   XX   XXX  XX    XX
  93.             db  000011b     ;49       X   X     X     X     X    X     X    X     X
  94.             db  010001b     ;50       X   X      X    X         X      X    X   XX
  95.             db  000101b     ;51           X      X    X        X           X
  96.             db  110000b     ;52
  97.             db  000111b     ;53
  98.             db  001100b     ;54
  99.             db  010101b     ;55
  100.             db  011101b     ;56
  101.             db  0, 0, 0         ;57..59
  102.             db  0, 0, 0, 0              ;60..63
  103. .v4:
  104.                               ;            64   65   66    67     68    69
  105.             db  01010001b   ;64:   XX    XX  XXXX   Y      XX    XX
  106.             db  01000101b   ;65:     X     X     X  X        X     X
  107.             db  01010000b   ;66:      X    X     X   X    XXX    XXX
  108.             db  01010010b   ;67:      X    X          X
  109.             db  00011101b   ;68:     X    X           X
  110.             db  00110101b   ;69:                     X
  111.             db  10100000b   ;70:
  112.             db  0           ;71:
  113.             db  0, 0, 0, 0              ;72..75
  114.             db  0, 0, 0, 0              ;76..79
  115.  
  116.  
  117. .v5:
  118.             db  00000001b, 01b          ;80: )(
  119.             db  00000001b, 10b          ;81: /7X
  120.             db  01000101b, 01b          ;82: 8u
  121.             db  01010100b, 01b          ;83:
  122.             db  00000010b, 01b          ;84: \X&
  123.             db  00010100b, 00b          ;85: hnu—
  124.             db  10111000b, 00b          ;86: a
  125.             db  0, 0                    ;87:
  126.  
  127. .v6:
  128.             db  01000000b, 0101b        ;88: Jfg
  129.             db  01010100b, 0001b        ;89: BPR
  130.             db  11010010b, 0001b        ;90: s$
  131.             db  0, 0                    ;91
  132.             db  0, 0, 0, 0              ;92,93
  133.             db  0, 0, 0, 0              ;94,95
  134. .v7:
  135.             db  11011001b, 011001b      ;96: ><vVY
  136.             db  00010001b, 010001b      ;97: D
  137.             db  00010100b, 000101b      ;98: bcdpqg
  138.             db  0, 0                          ;99:
  139.             db  0, 0, 0, 0              ;100,101
  140.             db  0, 0, 0, 0              ;102,103
  141. .v8:
  142.             db  00110000b, 00001100b    ;104: 5
  143.             db  01010100b, 01010001b    ;105: 689
  144.             db  0, 0, 0, 0, 0, 0        ;106..108
  145.             db  0, 0, 0, 0, 0, 0        ;109..111
  146.  
  147. .v9:
  148.             db  0, 0, 0                 ;112:
  149.             db  0, 0, 0                 ;113:
  150.             db  0, 0, 0                 ;114:
  151.             db  0, 0, 0                 ;115:
  152. .v10:
  153.             db  00010100b, 01010000b, 0100b     ;116: @0CGOQ
  154.             db  01010100b, 01010001b, 0100b     ;117: ---
  155.             db  0, 0, 0                         ;118:
  156.             db  0, 0, 0                         ;119:
  157. .v11:
  158.             db  10100000b, 01010010b, 000001b   ; 120: $s
  159.             db  0, 0, 0                         ;121:
  160.             db  0, 0, 0                         ;122:
  161.             db  0, 0, 0                         ;123:
  162. .v12:
  163.             db  0, 0, 0                 ;124:
  164.             db  0, 0, 0                         ;125:
  165.             db  0, 0, 0                         ;126:
  166.             db  0, 0, 0                         ;127:
  167. .v13:
  168.         ; WARNING: 13-16 vertex fields not implemented yet!
  169.  
  170. include 'nsvf_00.asm'
  171. include 'nsvf_01.asm'
  172.  
  173.