t2embapi.h 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /*
  2. * Copyright (c) 2009 Andrew Nguyen
  3. *
  4. * This library is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2.1 of the License, or (at your option) any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public
  15. * License along with this library; if not, write to the Free Software
  16. * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  17. */
  18. #ifndef __WINE_T2EMBAPI_H
  19. #define __WINE_T2EMBAPI_H
  20. #ifdef __cplusplus
  21. extern "C" {
  22. #endif
  23. #define CHARSET_UNICODE 1
  24. #define CHARSET_DEFAULT 1
  25. #define CHARSET_SYMBOL 2
  26. #define CHARSET_GLYPHIDX 3
  27. #define LICENSE_INSTALLABLE 0x0000
  28. #define LICENSE_DEFAULT 0x0000
  29. #define LICENSE_NOEMBEDDING 0x0002
  30. #define LICENSE_PREVIEWPRINT 0x0004
  31. #define LICENSE_EDITABLE 0x0008
  32. #define TTLOAD_PRIVATE 0x0001
  33. /* Possible return values. */
  34. #define E_NONE __MSABI_LONG(0x0000)
  35. #define E_API_NOTIMPL __MSABI_LONG(0x0001)
  36. #define E_HDCINVALID __MSABI_LONG(0x0006)
  37. #define E_NOFREEMEMORY __MSABI_LONG(0x0007)
  38. #define E_NOTATRUETYPEFONT __MSABI_LONG(0x000a)
  39. #define E_ERRORACCESSINGFONTDATA __MSABI_LONG(0x000c)
  40. #define E_ERRORACCESSINGFACENAME __MSABI_LONG(0x000d)
  41. #define E_FACENAMEINVALID __MSABI_LONG(0x0113)
  42. #define E_PERMISSIONSINVALID __MSABI_LONG(0x0117)
  43. #define E_PBENABLEDINVALID __MSABI_LONG(0x0118)
  44. typedef ULONG (WINAPIV * READEMBEDPROC)(void*,void*,ULONG);
  45. typedef ULONG (WINAPIV * WRITEEMBEDPROC)(void*,void*,ULONG);
  46. typedef struct
  47. {
  48. unsigned short usStructSize;
  49. unsigned short usRefStrSize;
  50. unsigned short *pusRefStr;
  51. } TTLOADINFO;
  52. typedef struct
  53. {
  54. unsigned short usStructSize;
  55. unsigned short usRootStrSize;
  56. unsigned short *pusRootStr;
  57. } TTEMBEDINFO;
  58. LONG WINAPI TTLoadEmbeddedFont(HANDLE*,ULONG,ULONG*,ULONG,ULONG*,READEMBEDPROC,
  59. LPVOID,LPWSTR,LPSTR,TTLOADINFO*);
  60. LONG WINAPI TTDeleteEmbeddedFont(HANDLE,ULONG,ULONG*);
  61. /* embedding privileges */
  62. #define EMBED_PREVIEWPRINT 1
  63. #define EMBED_EDITABLE 2
  64. #define EMBED_INSTALLABLE 3
  65. #define EMBED_NOEMBEDDING 4
  66. LONG WINAPI TTGetEmbeddingType(HDC, ULONG*);
  67. LONG WINAPI TTIsEmbeddingEnabledForFacename(LPCSTR facename, WINBOOL *enabled);
  68. LONG WINAPI TTIsEmbeddingEnabled(HDC hdc, WINBOOL *enabled);
  69. #ifdef __cplusplus
  70. }
  71. #endif
  72. #endif