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.

78 lines
1.6 KiB

  1. /***
  2. **
  3. ** Module: CharStr
  4. **
  5. ** Description:
  6. ** This is a module of the T1 to TT font converter. The module
  7. ** contain one function that interprets the commands in a T1
  8. ** CharString and builds a representation of the glyph for the
  9. ** it.
  10. **
  11. ** Author: Michael Jansson
  12. **
  13. ** Created: 5/26/93
  14. **
  15. ***/
  16. #ifndef _ARGS
  17. # define IN const
  18. # define OUT
  19. # define INOUT
  20. # define _ARGS(arg) arg
  21. #endif
  22. struct Subrs {
  23. USHORT len;
  24. UBYTE *code;
  25. };
  26. struct T1Glyph;
  27. struct Composite;
  28. struct PSState;
  29. /***
  30. ** Function: AllocPSState
  31. **
  32. ** Description:
  33. ** This function allocates the workspace
  34. ** used by the t1 parser.
  35. ***/
  36. struct PSState *AllocPSState _ARGS((void));
  37. /***
  38. ** Function: InitPS
  39. **
  40. ** Description:
  41. ** This function initiate the workspace
  42. ** used by the t1 parser.
  43. ***/
  44. void InitPS _ARGS((INOUT struct PSState *ps));
  45. /***
  46. ** Function: FreePSState
  47. **
  48. ** Description:
  49. ** This function frees the workspace
  50. ** used by the t1 parser.
  51. ***/
  52. void FreePSState _ARGS((INOUT struct PSState *ps));
  53. /***
  54. ** Function: ParseCharString
  55. **
  56. ** Description:
  57. ** This function parses a CharString and builds a
  58. ** of the charstring glyph.
  59. ***/
  60. errcode ParseCharString _ARGS((INOUT struct T1Glyph *glyph,
  61. INOUT struct Composite **comp,
  62. INOUT struct PSState *ps,
  63. IN struct Subrs *subrs,
  64. INOUT UBYTE *code,
  65. INOUT USHORT len));