packages feed

casa-reoc-0.1.0.0: src/ReOC/Primitive/FormFont.hs

{-# OPTIONS_GHC -Wall #-}

{- | The widths of the characters of the fonts of the text fields of CASA
Form 101-02, in thousandths of the font size. Generated from the widths in
the form; a character without a width cannot be shown by the form.

The fields of the form use Helvetica Light Condensed, Helvetica Roman and
Roboto Condensed (each with the Mac OS Roman encoding). 'narrowWidth' is the
greater of the widths of the two condensed fonts, and 'wideWidth' the
greatest of all three.
-}
module ReOC.Primitive.FormFont (
  narrowWidth,
  wideWidth,
) where

-- | The width of a character in the condensed fonts of the form.
narrowWidth :: Char -> Maybe Int
narrowWidth c =
  case fromEnum c of
    32 -> Just 229
    33 -> Just 246
    34 -> Just 320
    35 -> Just 548
    36 -> Just 494
    37 -> Just 778
    38 -> Just 611
    39 -> Just 198
    40 -> Just 314
    41 -> Just 318
    42 -> Just 431
    43 -> Just 497
    44 -> Just 222
    45 -> Just 333
    46 -> Just 263
    47 -> Just 371
    48 -> Just 494
    49 -> Just 494
    50 -> Just 494
    51 -> Just 494
    52 -> Just 494
    53 -> Just 494
    54 -> Just 494
    55 -> Just 494
    56 -> Just 494
    57 -> Just 494
    58 -> Just 233
    59 -> Just 222
    60 -> Just 446
    61 -> Just 479
    62 -> Just 460
    63 -> Just 422
    64 -> Just 800
    65 -> Just 576
    66 -> Just 545
    67 -> Just 567
    68 -> Just 571
    69 -> Just 497
    70 -> Just 480
    71 -> Just 591
    72 -> Just 620
    73 -> Just 250
    74 -> Just 483
    75 -> Just 545
    76 -> Just 475
    77 -> Just 755
    78 -> Just 619
    79 -> Just 601
    80 -> Just 554
    81 -> Just 601
    82 -> Just 531
    83 -> Just 518
    84 -> Just 521
    85 -> Just 562
    86 -> Just 560
    87 -> Just 762
    88 -> Just 551
    89 -> Just 524
    90 -> Just 522
    91 -> Just 278
    92 -> Just 369
    93 -> Just 278
    94 -> Just 444
    95 -> Just 500
    96 -> Just 333
    97 -> Just 479
    98 -> Just 493
    99 -> Just 462
    100 -> Just 496
    101 -> Just 468
    102 -> Just 316
    103 -> Just 493
    104 -> Just 483
    105 -> Just 229
    106 -> Just 224
    107 -> Just 451
    108 -> Just 229
    109 -> Just 752
    110 -> Just 484
    111 -> Just 502
    112 -> Just 493
    113 -> Just 500
    114 -> Just 304
    115 -> Just 456
    116 -> Just 295
    117 -> Just 483
    118 -> Just 428
    119 -> Just 650
    120 -> Just 439
    121 -> Just 417
    122 -> Just 439
    123 -> Just 351
    124 -> Just 244
    125 -> Just 351
    126 -> Just 589
    127 -> Just 500
    160 -> Just 500
    161 -> Just 231
    162 -> Just 479
    163 -> Just 511
    165 -> Just 463
    167 -> Just 537
    168 -> Just 418
    169 -> Just 800
    170 -> Just 396
    171 -> Just 500
    172 -> Just 487
    174 -> Just 800
    175 -> Just 414
    176 -> Just 400
    177 -> Just 470
    180 -> Just 333
    181 -> Just 499
    182 -> Just 564
    183 -> Just 243
    184 -> Just 333
    186 -> Just 403
    187 -> Just 500
    191 -> Just 421
    192 -> Just 576
    193 -> Just 576
    194 -> Just 576
    195 -> Just 576
    196 -> Just 576
    197 -> Just 576
    198 -> Just 812
    199 -> Just 567
    200 -> Just 497
    201 -> Just 497
    202 -> Just 497
    203 -> Just 497
    204 -> Just 250
    205 -> Just 250
    206 -> Just 250
    207 -> Just 250
    209 -> Just 619
    210 -> Just 601
    211 -> Just 601
    212 -> Just 601
    213 -> Just 601
    214 -> Just 601
    216 -> Just 601
    217 -> Just 562
    218 -> Just 562
    219 -> Just 562
    220 -> Just 562
    223 -> Just 522
    224 -> Just 479
    225 -> Just 479
    226 -> Just 479
    227 -> Just 479
    228 -> Just 479
    229 -> Just 479
    230 -> Just 728
    231 -> Just 462
    232 -> Just 468
    233 -> Just 468
    234 -> Just 468
    235 -> Just 468
    236 -> Just 235
    237 -> Just 235
    238 -> Just 235
    239 -> Just 235
    241 -> Just 484
    242 -> Just 502
    243 -> Just 502
    244 -> Just 502
    245 -> Just 502
    246 -> Just 502
    247 -> Just 500
    248 -> Just 499
    249 -> Just 483
    250 -> Just 483
    251 -> Just 483
    252 -> Just 483
    255 -> Just 417
    305 -> Just 235
    338 -> Just 827
    339 -> Just 777
    376 -> Just 524
    402 -> Just 444
    710 -> Just 428
    711 -> Just 404
    728 -> Just 427
    729 -> Just 333
    730 -> Just 334
    731 -> Just 333
    732 -> Just 427
    733 -> Just 333
    937 -> Just 500
    960 -> Just 500
    8211 -> Just 572
    8212 -> Just 1000
    8216 -> Just 194
    8217 -> Just 194
    8218 -> Just 222
    8220 -> Just 334
    8221 -> Just 337
    8222 -> Just 330
    8224 -> Just 483
    8225 -> Just 500
    8226 -> Just 606
    8230 -> Just 1000
    8240 -> Just 1000
    8249 -> Just 333
    8250 -> Just 333
    8260 -> Just 403
    8364 -> Just 494
    8482 -> Just 722
    8706 -> Just 500
    8710 -> Just 500
    8719 -> Just 500
    8721 -> Just 500
    8730 -> Just 500
    8734 -> Just 500
    8747 -> Just 500
    8776 -> Just 500
    8800 -> Just 500
    8804 -> Just 500
    8805 -> Just 500
    9674 -> Just 500
    63743 -> Just 500
    64257 -> Just 490
    64258 -> Just 504
    _ -> Nothing

-- | The width of a character in any font of the form.
wideWidth :: Char -> Maybe Int
wideWidth c =
  case fromEnum c of
    32 -> Just 278
    33 -> Just 278
    34 -> Just 355
    35 -> Just 556
    36 -> Just 556
    37 -> Just 889
    38 -> Just 667
    39 -> Just 198
    40 -> Just 333
    41 -> Just 333
    42 -> Just 431
    43 -> Just 584
    44 -> Just 278
    45 -> Just 333
    46 -> Just 278
    47 -> Just 371
    48 -> Just 556
    49 -> Just 556
    50 -> Just 556
    51 -> Just 556
    52 -> Just 556
    53 -> Just 556
    54 -> Just 556
    55 -> Just 556
    56 -> Just 556
    57 -> Just 556
    58 -> Just 278
    59 -> Just 278
    60 -> Just 584
    61 -> Just 584
    62 -> Just 584
    63 -> Just 556
    64 -> Just 1015
    65 -> Just 667
    66 -> Just 667
    67 -> Just 722
    68 -> Just 722
    69 -> Just 667
    70 -> Just 611
    71 -> Just 778
    72 -> Just 722
    73 -> Just 278
    74 -> Just 500
    75 -> Just 667
    76 -> Just 556
    77 -> Just 833
    78 -> Just 722
    79 -> Just 778
    80 -> Just 667
    81 -> Just 778
    82 -> Just 722
    83 -> Just 667
    84 -> Just 611
    85 -> Just 722
    86 -> Just 667
    87 -> Just 944
    88 -> Just 667
    89 -> Just 667
    90 -> Just 611
    91 -> Just 278
    92 -> Just 369
    93 -> Just 278
    94 -> Just 469
    95 -> Just 556
    96 -> Just 333
    97 -> Just 556
    98 -> Just 556
    99 -> Just 500
    100 -> Just 556
    101 -> Just 556
    102 -> Just 316
    103 -> Just 556
    104 -> Just 556
    105 -> Just 229
    106 -> Just 224
    107 -> Just 500
    108 -> Just 229
    109 -> Just 833
    110 -> Just 556
    111 -> Just 556
    112 -> Just 556
    113 -> Just 556
    114 -> Just 333
    115 -> Just 500
    116 -> Just 295
    117 -> Just 556
    118 -> Just 500
    119 -> Just 722
    120 -> Just 500
    121 -> Just 500
    122 -> Just 500
    123 -> Just 351
    124 -> Just 260
    125 -> Just 351
    126 -> Just 589
    127 -> Just 500
    160 -> Just 500
    161 -> Just 333
    162 -> Just 556
    163 -> Just 556
    165 -> Just 556
    167 -> Just 556
    168 -> Just 418
    169 -> Just 800
    170 -> Just 396
    171 -> Just 556
    172 -> Just 584
    174 -> Just 800
    175 -> Just 414
    176 -> Just 400
    177 -> Just 584
    180 -> Just 333
    181 -> Just 578
    182 -> Just 564
    183 -> Just 278
    184 -> Just 333
    186 -> Just 403
    187 -> Just 556
    191 -> Just 611
    192 -> Just 667
    193 -> Just 667
    194 -> Just 667
    195 -> Just 667
    196 -> Just 667
    197 -> Just 667
    198 -> Just 1000
    199 -> Just 722
    200 -> Just 667
    201 -> Just 667
    202 -> Just 667
    203 -> Just 667
    204 -> Just 278
    205 -> Just 278
    206 -> Just 278
    207 -> Just 278
    209 -> Just 722
    210 -> Just 778
    211 -> Just 778
    212 -> Just 778
    213 -> Just 778
    214 -> Just 778
    216 -> Just 778
    217 -> Just 722
    218 -> Just 722
    219 -> Just 722
    220 -> Just 722
    223 -> Just 611
    224 -> Just 556
    225 -> Just 556
    226 -> Just 556
    227 -> Just 556
    228 -> Just 556
    229 -> Just 556
    230 -> Just 889
    231 -> Just 500
    232 -> Just 556
    233 -> Just 556
    234 -> Just 556
    235 -> Just 556
    236 -> Just 278
    237 -> Just 278
    238 -> Just 278
    239 -> Just 278
    241 -> Just 556
    242 -> Just 556
    243 -> Just 556
    244 -> Just 556
    245 -> Just 556
    246 -> Just 556
    247 -> Just 584
    248 -> Just 611
    249 -> Just 556
    250 -> Just 556
    251 -> Just 556
    252 -> Just 556
    255 -> Just 500
    305 -> Just 278
    338 -> Just 1000
    339 -> Just 944
    376 -> Just 667
    402 -> Just 556
    710 -> Just 428
    711 -> Just 404
    728 -> Just 427
    729 -> Just 333
    730 -> Just 334
    731 -> Just 333
    732 -> Just 427
    733 -> Just 333
    937 -> Just 500
    960 -> Just 500
    8211 -> Just 572
    8212 -> Just 1000
    8216 -> Just 222
    8217 -> Just 222
    8218 -> Just 222
    8220 -> Just 334
    8221 -> Just 337
    8222 -> Just 333
    8224 -> Just 556
    8225 -> Just 556
    8226 -> Just 606
    8230 -> Just 1000
    8240 -> Just 1000
    8249 -> Just 333
    8250 -> Just 333
    8260 -> Just 403
    8364 -> Just 556
    8482 -> Just 1000
    8706 -> Just 500
    8710 -> Just 500
    8719 -> Just 500
    8721 -> Just 500
    8730 -> Just 500
    8734 -> Just 500
    8747 -> Just 500
    8776 -> Just 500
    8800 -> Just 500
    8804 -> Just 500
    8805 -> Just 500
    9674 -> Just 500
    63743 -> Just 500
    64257 -> Just 500
    64258 -> Just 504
    _ -> Nothing