Logo Search packages:      
Sourcecode: xbvl version File versions  Download package

h2v.h

/*
 *  Some useful stuff....
 */
#define ABS(x)          ((Int)(x) < 0 ? (Int)(-x) : (Int)(x))
#define MAX(x,y)  ((Int)(x) < (Int)(y) ? (Int)(y) : (Int)(x))
#define MIN(x,y)  ((Int)(x) < (Int)(y) ? (Int)(x) : (Int)(y))

/*
 * convert hershey byte to coordinate
 */
#define     COORD(x)    ((Int)(x) - (Int)'R')

/*
 *  Max Number of Hershey characters.
 */
#define     MAX_CHARS   6300

#define     MAX_POINTS  500               /* max points in a char */
#define     MAX_BUF           (2 * MAX_POINTS)  /* max buffer size */

/*
 * hershey table tape
 */
typedef struct {
      short len;
      char  *ch;
} HTAB;

/*
 *  These next few tables define which of the hershey characters
 *  actually make up the various fonts.
 */  

#define     MAX_ENTS    200

typedef struct {
            char  *name;
            Int   ent[MAX_ENTS];
} FTAB;

FTAB  fonts[] = {
      {
            "times.g",
            2199, 0, 2214, 0, 2217, 0, 733, 0, 2274, 0, 2271, 0, 2272, 0,
            2216, 0, 2721, 0, 2722, 0, 728, 0, 725, 0, 1211, 0, 724, 0,
            1210, 0, 720, 0, 2200, 2209, 1212, 1213, 2241, 0, 2238, 0,
            2242, 0, 2215, 0, 2273, 0, 2027, 2028, 2048, 0, 2030, 0,
            2031, 0, 2047, 0, 2029, 0, 2033, 0, 2035, 0, 229, 0, 2036, 2039,
            2041, 2042, 2034, 0, 2043, 2046, 718, 0, 2050, 0, 2040, 0,
            2049, 0, 2032, 0, 1405, 0, 804, 0, 1406, 0, 2247, 0, 3929, 0,
            2249, 0, 2127, 2128, 2148, 0, 2130, 2131, 2147, 0, 2129, 0,
            2133, 0, 2135, 0, 727, 0, 2136, 2139, 2141, 2142, 2134, 0,
            2143, 2146, 2237, 0, 2150, 0, 2140, 0, 2149, 0, 2132, 0,
            1407, 0, 723, 0, 1408, 0, 2246, 0, 3934, 0, 0,0
      },
      {
            "times.i",
            2199,0, 2764,0, 2778,0, 733,0, 2769,0, 2271,0, 2272,0,
            2777,0, 2771,0, 2772,0, 728,0, 725,0, 2761,0, 724,0,
            2760,0, 720,0, 2750,2759, 2762,2763, 2241,0, 2238,0, 2242,0,
            2765,0, 2273,0, 2051,2076, 1405,0, 804,0, 1406,0, 2247,0,
            3929,0, 2249,0, 2151,2176, 1407,0, 723,0, 1408,0, 2246,0,
            3934,0, 0,0,
      },
      {
            "times.r",
            2199,0, 2214,0, 2728,0, 733,0, 2274,0, 2271,0, 2272,0,
            2216,0, 2221,0, 2222,0, 728,0, 725,0, 1211,0, 724,0,
            1210,0, 720,0, 2200,2209, 1212,1213, 2241,0, 2238,0, 2242,0,
            2215,0, 2273,0, 2001,2026, 1405,0, 804,0, 1406,0, 2247,0,
            3929,0, 2249,0, 2101,2126, 1407,0, 723,0, 1408,0, 2246,0,
            3934,0, 0,0,
      },
      {
            "times.ib",
            2199,0 , 3264,0, 2778,0, 733,0, 3269,0, 2271,0, 3268,0,
            2777,0, 3271,3272 , 3273,0, 2725,0, 3261,0, 724,0, 3260,0,
            2720,0, 3250,3259, 3262,3263, 2241,0, 2726,0, 2242,0, 3265,0,
            2273,0, 3051,3076, 1405,0, 804,0, 1406,0, 2247,0, 3929,0,
            2249,0, 3151,3176, 1407,0, 723,0, 1408,0, 2246,0, 3934,0, 0,0,
      },
      {
            "times.rb",
            2199,0 , 3214,0, 3228,0, 733,0, 3219,0, 2271,0, 3218,0,
            3227,0, 3221,0, 3222,0, 2723,0, 2725,0, 3211,0, 724,0,
            3210,0, 2720,0, 3200,3209, 3212,3213, 2241,0, 2726,0, 2242,0,
            3215,0, 2273,0, 3001,3026, 1405,0, 804,0, 1406,0, 2247,0,
            3929,0, 2249,0, 3101,3126, 1407,0, 723,0, 1408,0, 2246,0,
            3934,0, 0,0,
      },
      {
            "futura.l",
            2199,0, 714,0, 717,0, 733,0, 719,0, 2271,0, 734,0,
            2251,0, 721,0, 722,0, 728,0, 725,0, 1211,0, 724,0,
            1210,0, 720,0, 700,709, 1212,1213, 2241,0, 2238,0, 2242,0,
            715,0, 2273,0, 501,526, 1405,0, 804,0, 1406,0, 832,0,
            3927,0, 1252,0, 601,626, 1407,0, 723,0, 1408,0, 2246,0,
            3934,0, 0,0,
      },
      {
            "futura.m",
            2199,0, 2714,0, 2728,0, 733,0, 2719,0, 2271,0, 2272,0,
            2727,0, 2221,2222 , 2723,0, 2725,0, 2711,0, 724,0, 2710,0,
            2720,0, 2700,2709, 2712,2713, 2241,0, 2726,0, 2242,0, 2715,0,
            2273,0, 2501,2526, 1405,0, 804,0, 1406,0, 2247,0, 3929,0,
            2249,0, 2601,2626, 2227,0, 723,0, 2228,0, 2246,0, 3934,0, 0,0,
      },
      {
            "gothic.eng",
            2199,0, 3714,0, 3728,0, 733,0, 3719,0, 2271,0, 3718,0,
            3227,0, 3221,0, 3222,0, 2723,0, 2725,0, 3711,0, 724,0,
            3710,0, 2720,0, 3700,3709, 3712,3713, 2241,0, 2726,0, 2242,0,
            3715,0, 2273,0, 3501,3526, 1405,0, 804,0, 1406,0, 2247,0,
            3931,0, 2249,0, 3601,3626, 1407,0, 723,0, 1408,0, 2246,0,
            3934,0, 0,0,
      },
      {
            "gothic.ger",
            2199,0 , 3714,0, 3728,0, 733,0, 3719,0, 2271,0, 3718,0,
            3227,0, 3221,0, 3222,0, 2723,0, 2725,0, 3711,0, 724,0,
            3710,0, 2720,0, 3700,3709, 3712,3713, 2241,0, 2726,0, 2242,0,
            3715,0, 2273,0, 3301,3326, 1405,0, 804,0, 1406,0, 2247,0,
            3932,0, 2249,0, 3401,3426, 1407,0, 723,0, 1408,0, 2246,0,
            3934,0, 0,0,
      },
      {
            "gothic.ita",
            2199,0, 3714,0, 3728,0, 733,0, 3719,0, 2271,0, 3718,0,
            3227,0, 3221,0, 3222,0, 2723,0, 2725,0, 3711,0, 724,0,
            3710,0, 2720,0, 3700,3709, 3712,3713, 2241,0, 2726,0, 2242,0,
            3715,0, 2273,0, 3801,3826, 1405,0, 804,0, 1406,0, 2247,0,
            3933,0, 2249,0, 3901,3926, 1407,0, 723,0, 1408,0, 2246,0,
            3934,0, 0,0,
      },
      {
            "math.low",
            2199,0, 2233,2235, 229,0, 2271,0, 2243,2244, 2221,2222, 
            728,0, 725,0, 1211,0, 724,0, 1210,0, 720,0, 700,709,
             2401,2402, 2241,0, 2238,0, 2242,0, 2239,0, 2240,0,
             601,626, 1405,0, 804,0, 1406,0, 2245,0, 2270,0, 718,719,
            2255,0, 2267,0, 2256,2266, 2267,0, 2268,0, 2412,0, 2403,2406,
            2279,0, 2077,0, 2237,0, 2230,0, 738,0, 1407,0, 739,0,
            1408,0, 740,0, 2246,0, 0,0,
      },
      {
            "math.upp",
            2199,0, 2233,2235, 229,0, 2271,0, 2243,2244, 2221,2222, 728,0,
            725,0, 711,0, 724,0, 710,0, 720,0, 700,709, 2401,2402,
            2241,0, 2238,0, 2242,0, 2239,0, 2240,0, 501,526, 1405,0,
            804,0, 1406,0, 2245,0, 2270,0, 718,0, 728,0, 2255,0,
            2267,0, 2256,2266, 2267,0, 2268,0, 2412,0, 2403,2406, 2279,0,
            2077,0, 2237,0, 2230,0, 738,0, 1406,0, 739,0, 1407,0,
            740,0, 2246,0, 0,0,
      },
      {
            "cyrillic",
            2199, 0, 2214, 0, 2217, 0, 733, 0, 2828, 0, 2923, 0, 2928, 0,
            2216, 0, 2721, 0, 2722, 0, 728, 0, 725, 0, 1211, 0, 724, 0,
            1210, 0, 720, 0, 2200, 2209, 1212, 1213, 2241, 0, 2238, 0,
            2242, 0, 2215, 0, 2273, 0, 2801, 2802, 2830, 0, 2805, 0,
            2809, 0, 2821, 0, 2804, 0, 2807, 0, 2809, 0, 2824, 0,
            2811, 2816, 2825, 0, 2817, 2819, 2831, 0, 2803, 0, 2826, 0,
            2822, 0, 2820, 0, 2808, 0, 2806, 0, 804, 0, 2827, 0, 2832, 0,
            2829, 0, 2823, 0, 2901, 2902, 2830, 0, 2905, 0, 2910, 0,
            2921, 0, 2904, 0, 2907, 0, 2909, 0, 2924, 0, 2911, 2916,
            2925, 0, 2917, 2919, 2931, 0, 2903, 0, 2926, 0, 2922, 0,
            2920, 0, 2908, 0, 2906, 0, 2927, 0, 2932, 0, 2929, 0, 2246, 0,
            0,0
      },
      {
            "astrology",
            2199,0, 2312,0, 2728,0, 2281,2285, 2221,0, 2222,0, 2286,2287,
            1211,0, 2288,0, 1210,0, 2289,0, 3250,3259, 2290,2295, 2301,0,
            3001,3026, 2302,0, 804,0, 2303,2306, 3151,3176, 2308,2311,
            2246,0, 0,0,
      },
      {
            "meteorology",
            2199,0, 750,753, 2271,0, 754,757, 728,0, 758,0, 1211,0,
            724,0, 1210,0, 720,0, 700,709, 759,763, 2215,0, 2273,0,
            501,526, 1405,0, 804,0, 1406,0, 519,0, 766,0, 765,0,
            601,626, 1407,0, 767,0, 1408,0, 768,0, 2246,0, 0,0,
      },
      {
            "music",
            2199,0, 2214,0, 2318,2329, 2378,0, 2331,0, 2200,2209, 712,0,
            2330,2331, 2381,0, 2332,0, 2382,0, 2377,0, 2051,2076, 1405,0,
            804,0, 1406,0, 2248,0, 724,0, 2249,0, 2151,2176, 1407,0,
            723,0, 1408,0, 2246,0, 3934,0, 0,0,
      },
      {
            "greek",
            2199, 0, 714, 0, 717, 0, 733, 0, 719, 0, 2271, 0, 734, 0,
            2251, 0, 721, 0, 722, 0, 728, 0, 725, 0, 1211, 0, 724, 0,
            1210, 0, 720, 0, 700, 709, 1212, 1213, 2241, 0, 2238, 0,
            2242, 0, 715, 0, 2273, 0, 527, 528, 548, 0, 530, 531, 547, 0,
            529, 0, 533, 0, 535, 0, 229, 0, 536, 539, 541, 542, 534, 0,
            543, 546, 718, 0, 550, 0, 540, 0, 549, 0, 532, 0, 1405, 0,
            804, 0, 1406, 0, 832, 0, 3927, 0, 1252, 0, 627, 628, 648, 0,
            630, 631, 647, 0, 629, 0, 633, 0, 635, 0, 727, 0, 636, 639,
            641, 642, 634, 0, 643, 646, 2237, 0, 650, 0, 640, 0, 649, 0,
            632, 0, 1407, 0, 723, 0, 1408, 0, 2246, 0, 3934, 0, 0,0,
      },
      {
            "cursive", 
            2199,0, 714,0, 717,0, 733,0, 719,0, 2271,0, 734,0,
            216,0, 721,0, 722,0, 728,0, 725,0, 1211,0, 724,0,
            1210,0, 720,0, 700,709, 1212,1213, 2241,0, 2238,0, 2242,0,
            715,0, 2273,0, 551,576, 1405,0, 804,0, 1406,0, 832,0,
            3928,0, 1252,0, 651,676, 1407,0, 723, 0, 1408,0, 2246,0,
            3934,0, 0,0,
      },
      {
            "script",
            2199,0, 2214,0, 2728,0, 733,0, 2274,0, 2271,0, 2272,0,
            2216,0, 2221,0, 2222,0, 728,0, 725,0, 1211,0, 724,0,
            1210,0, 720,0, 2750,2759, 1212,1213, 2241,0, 2238,0, 2242,0,
            2215,0, 2273,0, 2551,2576, 1405,0, 804,0, 1406,0, 2247,0,
            3930,0, 2249,0, 2651,2676, 1407,0, 723,0, 1408,0, 2246,0,
            3934,0, 0,0,
      },
      {
            "markers",
            2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0,
            2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0,
            2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0,
            2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0,
            2199,0, 840,844, 866,0, 845,847, 850,855, 834,0,
            2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0,
            2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0,
            840,844, 866,0, 845,847, 850,855, 834,0,
            2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0,
            2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0, 2199,0,
            0,0,
      },
      {
            "symbolic",
            2199,0, 800,0, 797,834, 840,847, 850,855, 857,0, 864,0,
            860,863, 804,0, 865,874, 735,0, 745,0, 2276,0, 2277,2278,
            740,744, 2407,2411, 2187,0, 2190,2196, 856,0, 2246,0, 0,0,
      }
};

Generated by  Doxygen 1.6.0   Back to index