4 #define TAG_FINF TAG('F', 'I', 'N', 'F')
6 /* GDI logical font object */
9 ENUMLOGFONTEXDVW logfont
; //LOGFONTW logfont;
11 BOOLEAN Initialized
; /* Don't reinitialize for each DC */
14 /* Internal interface */
16 #define TEXTOBJ_AllocText() \
17 ((HFONT) GDIOBJ_AllocObj (GdiHandleTable, GDI_OBJECT_TYPE_FONT))
18 #define TEXTOBJ_FreeText(hBMObj) GDIOBJ_FreeObj(GdiHandleTable, (HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_FONT)
19 #define TEXTOBJ_LockText(hBMObj) ((PTEXTOBJ) GDIOBJ_LockObj (GdiHandleTable, (HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_FONT))
20 #define TEXTOBJ_UnlockText(pBMObj) GDIOBJ_UnlockObjByPtr (GdiHandleTable, pBMObj)
22 NTSTATUS FASTCALL
TextIntRealizeFont(HFONT FontHandle
);
23 NTSTATUS FASTCALL
TextIntCreateFontIndirect(CONST LPLOGFONTW lf
, HFONT
*NewFont
);
24 BOOL FASTCALL
InitFontSupport(VOID
);
25 BOOL FASTCALL
IntIsFontRenderingEnabled(VOID
);
26 BOOL FASTCALL
IntIsFontRenderingEnabled(VOID
);
27 VOID FASTCALL
IntEnableFontRendering(BOOL Enable
);
28 INT FASTCALL
FontGetObject(PTEXTOBJ TextObj
, INT Count
, PVOID Buffer
);
29 VOID FASTCALL
IntLoadSystemFonts(VOID
);
30 INT FASTCALL
IntGdiAddFontResource(PUNICODE_STRING FileName
, DWORD Characteristics
);
32 #define IntLockProcessPrivateFonts(W32Process) \
33 ExEnterCriticalRegionAndAcquireFastMutexUnsafe(&W32Process->PrivateFontListLock)
35 #define IntUnLockProcessPrivateFonts(W32Process) \
36 ExReleaseFastMutexUnsafeAndLeaveCriticalRegion(&W32Process->PrivateFontListLock)
38 #define IntLockGlobalFonts \
39 ExEnterCriticalRegionAndAcquireFastMutexUnsafe(&FontListLock)
41 #define IntUnLockGlobalFonts \
42 ExReleaseFastMutexUnsafeAndLeaveCriticalRegion(&FontListLock)
44 #define IntLockFreeType \
45 ExEnterCriticalRegionAndAcquireFastMutexUnsafe(&FreeTypeLock)
47 #define IntUnLockFreeType \
48 ExReleaseFastMutexUnsafeAndLeaveCriticalRegion(&FreeTypeLock)
50 #endif /* _WIN32K_TEXT_H */