Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

112 lines
2.9 KiB

  1. /***
  2. **
  3. ** Module: Hints
  4. **
  5. ** Description:
  6. ** This is a module of the T1 to TT font converter. This is a
  7. ** sub-module of the T1 to TT data translator module. It deals
  8. ** with hints. Any part pf the T1 font that gets translated into
  9. ** TrueType instructions is done within this module.
  10. **
  11. ** Author: Michael Jansson
  12. **
  13. ** Created: 8/24/93
  14. **
  15. ***/
  16. #ifndef _ARGS
  17. # define IN const
  18. # define OUT
  19. # define INOUT
  20. # define _ARGS(arg) arg
  21. #endif
  22. /***
  23. ** Function: ConvertHints
  24. **
  25. ** Description:
  26. ** This functions converts hstem, hstem3, vstem, vstem3 and flex
  27. ** hints, as well as doing diagonal control.
  28. ***/
  29. errcode ConvertHints _ARGS((INOUT struct T1Metrics *t1m,
  30. IN Hints *hints,
  31. IN Outline *orgpaths,
  32. IN Outline *paths,
  33. IN short *sideboard,
  34. OUT UBYTE **gpgm,
  35. OUT USHORT *num,
  36. OUT USHORT *stack,
  37. OUT USHORT *twilight));
  38. /***
  39. ** Function: BuildPreProgram
  40. **
  41. ** Description:
  42. ** This function builds the pre-program that will compute
  43. ** the CVT and storage entries for the TT stem hint
  44. ** instructions to work.
  45. ***/
  46. USHORT BuildPreProgram _ARGS((IN struct T1Metrics *t1m,
  47. IN WeightControl *weight,
  48. INOUT Blues *blues,
  49. INOUT AlignmentControl *align,
  50. INOUT UBYTE **prep,
  51. IN int prepsize,
  52. OUT USHORT *maxprepstack));
  53. /***
  54. ** Function: MatchingFamily
  55. **
  56. ** Description:
  57. ** Locate the family alignment zone that is closest to
  58. ** a given alignment zone.
  59. ***/
  60. short MatchingFamily _ARGS((IN funit pos,
  61. IN funit *family,
  62. IN USHORT fcnt));
  63. /***
  64. ** Function: GetRomanHints
  65. **
  66. ** Description:
  67. ***/
  68. const UBYTE *GetRomanHints _ARGS((OUT int *size));
  69. /***
  70. ** Function: GetSwissHints
  71. **
  72. ** Description:
  73. ***/
  74. const UBYTE *GetSwissHints _ARGS((OUT int *size));
  75. /***
  76. ** Function: GetFontProg
  77. **
  78. ** Description:
  79. ** Return the font program.
  80. ***/
  81. const UBYTE *GetFontProg _ARGS((void));
  82. /***
  83. ** Function: GetFontProgSize
  84. **
  85. ** Description:
  86. ** Return the size of the font program.
  87. ***/
  88. const USHORT GetFontProgSize _ARGS((void));
  89. /***
  90. ** Function: GetNumFuns
  91. **
  92. ** Description:
  93. ** Return the number of functions defined in
  94. ** the font program.
  95. ***/
  96. const USHORT GetNumFuns _ARGS((void));