7 * Note: This "warper" is far from being complete! if you need something
8 * in Xft or Xft + fontconfig (Fc for short) (aka Xft2) not already defined
9 * you must add the corresponding Fft* functions/types (2 or 3 times).
13 /* ---------------------------- included header files ---------------------- */
15 /* no compat to avoid problems in the future */
16 #define _XFT_NO_COMPAT_ 1
19 #define Picture XRenderPicture
20 #include <X11/Xft/Xft.h>
26 /* ---------------------------- global definitions ------------------------- */
33 #define FftUtf8Support 1
35 #define FftUtf8Support 0
39 #define FftSupportUseXft2 1
41 #define FftSupportUseXft2 0
47 #define FftUtf8Support 0
48 #define FftSupportUseXft2 0
52 /* ---------------------------- global macros ------------------------------ */
54 /* ---------------------------- type definitions --------------------------- */
58 /* Fc (fontconfig) stuff */
61 typedef FcChar8 FftChar8
;
62 typedef FcChar16 FftChar16
;
63 typedef FcChar32 FftChar32
;
64 typedef FcBool FftBool
;
65 typedef FcType FftType
;
66 typedef FcMatrix FftMatrix
;
67 typedef FcValue FftValue
;
68 typedef FcPattern FftPattern
;
69 typedef FcFontSet FftFontSet
;
70 typedef FcObjectSet FftObjectSet
;
72 /* FftResult must be FcResult for gcc 3.4 not to warn of incompatible
75 typedef FcResult FftResult
;
77 #define FftResultMatch FcResultMatch
78 #define FftResultNoMatch FcResultNoMatch
79 #define FftResultTypeMismatch FcResultTypeMismatch
80 #define FftFftResultNoId FcResultNoId
83 typedef enum _FftResult
85 FftResultMatch
= FcResultMatch
,
86 FftResultNoMatch
= FcResultNoMatch
,
87 FftResultTypeMismatch
= FcResultTypeMismatch
,
88 FftFftResultNoId
= FcResultNoId
91 /* XftValue and are different in Xft+Fc and Xft 1 */
92 typedef struct _Xft1Value
103 typedef Xft1Value Fft1Value
;
104 /* no value list in Xft+Fc */
105 typedef struct _XftValueList
107 struct _XftValueList
*next
;
110 typedef XftValueList FftValueList
;
111 /* no XftPatternElt in Xft+Fc */
115 FftValueList
*values
;
117 typedef XftPatternElt FftPatternElt
;
118 /* XftPattern and FcPattern are different */
119 typedef struct _Xft1Pattern
126 #else /* !FftSupportUseXft2 */
128 typedef XftChar8 FftChar8
;
129 typedef XftChar16 FftChar16
;
130 typedef XftChar32 FftChar32
;
131 typedef XftType FftType
;
132 typedef XftMatrix FftMatrix
;
133 typedef XftPatternElt FftPatternElt
;
134 typedef XftFontSet FftFontSet
;
135 typedef XftObjectSet FftObjectSet
;
136 typedef XftValue FftValue
;
137 typedef XftPattern FftPattern
;
138 typedef XftValue Fft1Value
;
139 typedef XftPattern Fft1Pattern
;
141 typedef enum _FftResult
143 FftResultMatch
= XftResultMatch
,
144 FftResultNoMatch
= XftResultNoMatch
,
145 FftResultTypeMismatch
= XftResultTypeMismatch
,
146 FftFftResultNoId
= XftResultNoId
149 #endif /* FftSupportUseXft2 */
151 /* Xft stuff (common) */
152 typedef XftDraw FftDraw
;
153 typedef XftFont FftFont
;
154 typedef XftColor FftColor
;
156 #if FftSupportUseXft2
157 /* XftFont are != in Xft+Fc and Xft */
158 typedef struct _Fft1Font
163 int max_advance_width
;
165 Fft1Pattern
*pattern
;
176 typedef XftFont Fft1Font
;
181 typedef unsigned char FftChar8
;
182 typedef unsigned short FftChar16
;
183 typedef unsigned int FftChar32
;
187 double xx
, xy
, yx
, yy
;
189 typedef enum _FftResult
{
191 FftResultNoMatch
= 1,
192 FftResultTypeMismatch
= 2,
206 typedef XftValue FftValue
;
207 typedef struct _XftValueList
209 struct _XftValueList
*next
;
212 typedef XftValueList FftValueList
;
216 FftValueList
*values
;
218 typedef XftPatternElt FftPatternElt
;
225 typedef XftPattern FftPattern
;
226 typedef void FftFontSet
;
227 typedef void FftFontVoid
;
228 typedef void FftDraw
;
234 int max_advance_width
;
249 typedef XftFont FftFont
;
255 typedef XftColor FftColor
;
256 typedef void FftObjectSet
;
257 /* XftValue are different in Xft+Fc and Xft 1 */
258 typedef struct _Xft1Value
270 typedef Xft1Value Fft1Value
;
271 /* XftPattern and XftFont are different in Xft+Fc and Xft 1 */
272 typedef struct _Xft1Pattern
279 typedef struct _Fft1Font
284 int max_advance_width
;
286 Fft1Pattern
*pattern
;
303 * Fvwm Xft font structure
309 FftFont
*fftfont_rotated_90
;
310 FftFont
*fftfont_rotated_180
;
311 FftFont
*fftfont_rotated_270
;
316 /* ---------------------------- exported variables (globals) --------------- */
318 /* ---------------------------- interface functions ------------------------ */
320 void FftPDumyFunc(void);
322 /* ---------------------------- global definitions ------------------------- */
327 #if FftSupportUseXft2
328 #define FFT_FAMILY FC_FAMILY
329 #define FFT_STYLE FC_STYLE
330 #define FFT_SLANT FC_SLANT
331 #define FFT_WEIGHT FC_WEIGHT
332 #define FFT_SIZE FC_SIZE
333 #define FFT_PIXEL_SIZE FC_PIXEL_SIZE
334 #define FFT_SPACING FC_SPACING
335 #define FFT_FOUNDRY FC_FOUNDRY
336 #define FFT_CORE FC_CORE
337 #define FFT_ANTIALIAS FC_ANTIALIAS
338 #define FFT_XLFD FC_XLFD
339 #define FFT_FILE FC_FILE
340 #define FFT_INDEX FC_INDEX
341 #define FFT_RASTERIZER FC_RASTERIZER
342 #define FFT_OUTLINE FC_OUTLINE
343 #define FFT_SCALABLE FC_SCALABLE
344 #define FFT_RGBA FC_RGBA
345 #define FFT_SCALE FC_SCALE
346 #define FFT_RENDER FC_RENDER
347 #define FFT_CHAR_WIDTH FC_CHAR_WIDTH
348 #define FFT_CHAR_HEIGHT FC_CHAR_HEIGHT
349 #define FFT_MATRIX FC_MATRIX
350 #define FFT_WEIGHT_LIGHT FC_WEIGHT_LIGHT
351 #define FFT_WEIGHT_MEDIUM FC_WEIGHT_MEDIUM
352 #define FFT_WEIGHT_DEMIBOLD FC_WEIGHT_DEMIBOLD
353 #define FFT_WEIGHT_BOLD FC_WEIGHT_BOLD
354 #define FFT_WEIGHT_BLACK FC_WEIGHT_BLACK
355 #define FFT_SLANT_ROMAN FC_SLANT_ROMAN
356 #define FFT_SLANT_ITALIC FC_SLANT_ITALIC
357 #define FFT_SLANT_OBLIQUE FC_SLANT_OBLIQUE
358 #define FFT_PROPORTIONAL FC_PROPORTIONAL
359 #define FFT_MONO FC_MONO
360 #define FFT_CHARCELL FC_CHARCELL
361 #define FFT_RGBA_NONE FC_RGBA_NONE
362 #define FFT_RGBA_RGB FC_RGBA_RGB
363 #define FFT_RGBA_BGR FC_RGBA_BGR
366 #define FFT_HINTING FC_HINTING
367 #define FFT_VERTICAL_LAYOUT FC_VERTICAL_LAYOUT
368 #define FFT_AUTOHINT FC_AUTOHINT
369 #define FFT_GLOBAL_ADVANCE FC_GLOBAL_ADVANCE
370 #define FFT_SOURCE FC_SOURCE
371 #define FFT_CHARSET FC_CHARSET
372 #define FFT_LANG FC_LANG
373 #define FFT_DIR_CACHE_FILE FC_DIR_CACHE_FILE
374 #define FFT_USER_CACHE_FILE FC_USER_CACHE_FILE
375 /* skip all the FC_LANG_* OS/2 CodePageRange bits */
378 #define FFT_ENCODING "encoding"
380 #else /* !FftSupportUseXft2 */
382 #define FFT_FAMILY XFT_FAMILY
383 #define FFT_STYLE XFT_STYLE
384 #define FFT_SLANT XFT_SLANT
385 #define FFT_WEIGHT XFT_WEIGHT
386 #define FFT_SIZE XFT_SIZE
387 #define FFT_PIXEL_SIZE XFT_PIXEL_SIZE
388 #define FFT_ENCODING XFT_ENCODING
389 #define FFT_SPACING XFT_SPACING
390 #define FFT_FOUNDRY XFT_FOUNDRY
391 #define FFT_CORE XFT_CORE
392 #define FFT_ANTIALIAS XFT_ANTIALIAS
393 #define FFT_XLFD XFT_XLFD
394 #define FFT_FILE XFT_FILE
395 #define FFT_INDEX XFT_INDEX
396 #define FFT_RASTERIZER XFT_RASTERIZER
397 #define FFT_OUTLINE XFT_OUTLINE
398 #define FFT_SCALABLE XFT_SCALABLE
399 #define FFT_RGBA XFT_RGBA
400 #define FFT_SCALE XFT_SCALE
401 #define FFT_RENDER XFT_RENDER
402 #define FFT_CHAR_WIDTH XFT_CHAR_WIDTH
403 #define FFT_CHAR_HEIGHT XFT_CHAR_HEIGHT
404 #define FFT_MATRIX XFT_MATRIX
405 #define FFT_WEIGHT_LIGHT XFT_WEIGHT_LIGHT
406 #define FFT_WEIGHT_MEDIUM XFT_WEIGHT_MEDIUM
407 #define FFT_WEIGHT_DEMIBOLD XFT_WEIGHT_DEMIBOLD
408 #define FFT_WEIGHT_BOLD XFT_WEIGHT_BOLD
409 #define FFT_WEIGHT_BLACK XFT_WEIGHT_BLACK
410 #define FFT_SLANT_ROMAN XFT_SLANT_ROMAN
411 #define FFT_SLANT_ITALIC XFT_SLANT_ITALIC
412 #define FFT_SLANT_OBLIQUE XFT_SLANT_OBLIQUE
413 #define FFT_PROPORTIONAL XFT_PROPORTIONAL
414 #define FFT_MONO XFT_MONO
415 #define FFT_CHARCELL XFT_CHARCELL
416 #define FFT_RGBA_NONE XFT_RGBA_NONE
417 #define FFT_RGBA_RGB XFT_RGBA_RGB
418 #define FFT_RGBA_BGR XFT_RGBA_BGR
419 #define FFT_RGBA_VRGB XFT_RGBA_VRGB
420 #define FFT_RGBA_VBGR XFT_RGBA_VBGR
423 #define FFT_HINTING ""
424 #define FFT_VERTICAL_LAYOUT ""
425 #define FFT_AUTOHINT ""
426 #define FFT_GLOBAL_ADVANCE ""
427 #define FFT_SOURCE ""
428 #define FFT_CHARSET ""
430 #define FFT_DIR_CACHE_FILE ""
431 #define FFT_USER_CACHE_FILE ""
432 /* skip all the FC_LANG_* OS/2 CodePageRange bits */
435 #define FFT_ENCODING XFT_ENCODING
437 #endif /* !FftSupportUseXft2 */
440 #if FftSupportUseXft2
441 #define FftConfigSubstitute(a) FcConfigSubstitute(a)
442 #define FftValuePrint(a) FcValuePrint(a)
443 #define FftPatternPrint(a) FcPatternPrint(a)
444 #define FftFontSetPrint(a) FcFontSetPrint(a)
445 #define FftGlyphExists(a,b,c) FcGlyphExists(a,b,c)
446 #define FftObjectSetCreate() FcObjectSetCreate()
447 #define FftObjectSetAdd(a,b) FcObjectSetAdd(a,b)
448 #define FftObjectSetDestroy(a) FcObjectSetDestroy(a)
449 #define FftObjectSetVaBuild(a,b) FcObjectSetVaBuild(a,b)
450 #define FftListFontsPatternObjects(a,b,c,d) FcListFontsPatternObjects(a,b,c,d)
451 #define FftFontSetMatch(a,b,c,d) FcFontSetMatch(a,b,c,d)
452 #define FftPatternCreate() FcPatternCreate()
453 #define FftPatternDuplicate(a) FcPatternDuplicate(a)
454 #define FftValueDestroy(a) FcValueDestroy(a)
455 #define FftValueListDestroy(a) FcValueListDestroy(a)
456 #define FftPatternDestroy(a) FcPatternDestroy(a)
457 #define FftPatternFind(a,b,c) FcPatternFind(a,b,c)
458 #define FftPatternAdd(a,b,c,d) FcPatternAdd(a,b,c,d)
459 #define FftPatternGet(a,b,c,d) FcPatternGet(a,b,c,d)
460 #define FftPatternDel(a,b) FcPatternDel(a,b)
461 #define FftPatternAddInteger(a,b,c) FcPatternAddInteger(a,b,c)
462 #define FftPatternAddDouble(a,b,c) FcPatternAddDouble(a,b,c)
463 #define FftPatternAddString(a,b,c) FcPatternAddString(a,b,c)
464 #define FftPatternAddBool(a,b,c) FcPatternAddBool(a,b,c)
465 #define FftPatternAddMatrix(a,b,c) FcPatternAddMatrix(a,b,c)
466 #define FftPatternGetInteger(a,b,c,d) FcPatternGetInteger(a,b,c,d)
467 #define FftPatternGetDouble(a,b,c,d) FcPatternGetDouble(a,b,c,d)
468 #define FftPatternGetString(a,b,c,d) FcPatternGetString(a,b,c,d)
469 #define FftPatternGetBool(a,b,c,d) FcPatternGetBool(a,b,c,d)
470 #define FftPatternGetMatrix(a,b,c,d) FcPatternGetMatrix(a,b,c,d)
471 #define FftPatternVaBuild(a,b) FcPatternVaBuild(a,b)
472 #else /* !FftSupportUseXft2 */
473 #define FftConfigSubstitute(a) XftConfigSubstitute(a)
474 #define FftValuePrint(a) XftValuePrint(a)
475 #define FftPatternPrint(a) XftPatternPrint(a)
476 #define FftFontSetPrint(a) XftFontSetPrint(a)
477 #define FftGlyphExists(a,b,c) XftGlyphExists(a,b,c)
478 #define FftObjectSetCreate() XftObjectSetCreate()
479 #define FftObjectSetAdd(a,b) XftObjectSetAdd(a,b)
480 #define FftObjectSetDestroy(a) XftObjectSetDestroy(a)
481 #define FftObjectSetVaBuild(a,b) XftObjectSetVaBuild(a,b)
482 #define FftListFontsPatternObjects(a,b,c,d) XftListFontsPatternObjects(a,b,c,d)
483 #define FftFontSetMatch(a,b,c,d) XftFontSetMatch(a,b,c,d)
484 #define FftPatternCreate() XftPatternCreate()
485 #define FftPatternDuplicate(a) XftPatternDuplicate(a)
486 #define FftValueDestroy(a) XftValueDestroy(a)
487 #define FftValueListDestroy(a) XftValueListDestroy(a)
488 #define FftPatternDestroy(a) XftPatternDestroy(a)
489 #define FftPatternFind(a,b,c) XftPatternFind(a,b,c)
490 #define FftPatternAdd(a,b,c,d) XftPatternAdd(a,b,c,d)
491 #define FftPatternGet(a,b,c,d) XftPatternGet(a,b,c,d)
492 #define FftPatternDel(a,b) XftPatternDel(a,b)
493 #define FftPatternAddInteger(a,b,c) XftPatternAddInteger(a,b,c)
494 #define FftPatternAddDouble(a,b,c) XftPatternAddDouble(a,b,c)
495 #define FftPatternAddString(a,b,c) XftPatternAddString(a,b,c)
496 #define FftPatternAddBool(a,b,c) XftPatternAddBool(a,b,c)
497 #define FftPatternAddMatrix(a,b,c) XftPatternAddMatrix(a,b,c)
498 #define FftPatternGetInteger(a,b,c,d) XftPatternGetInteger(a,b,c,d)
499 #define FftPatternGetDouble(a,b,c,d) XftPatternGetDouble(a,b,c,d)
500 #define FftPatternGetString(a,b,c,d) XftPatternGetString(a,b,c,d)
501 #define FftPatternGetBool(a,b,c,d) XftPatternGetBool(a,b,c,d)
502 #define FftPatternGetMatrix(a,b,c,d) XftPatternGetMatrix(a,b,c,d)
503 #define FftPatternVaBuild(a,b) XftPatternVaBuild(a,b)
504 #endif /* !XftSupportUseXft2 */
507 #define FftColorAllocName(a,b,c,d,e) XftColorAllocName(a,b,c,d,e)
508 #define FftColorAllocValue(a,b,c,d,e) XftColorAllocValue(a,b,c,d,e)
509 #define FftColorFree(a,b,c,d) XftColorFree(a,b,c,d)
510 #define FftDefaultHasRender(a) XftDefaultHasRender(a)
511 #define FftDefaultSet(a,b) XftDefaultSet(a,b)
512 #define FftDefaultSubstitute(a,b,c) XftDefaultSubstitute(a,b,c)
513 #define FftDrawCreate(a,b,c,d) XftDrawCreate(a,b,c,d)
514 #define FftDrawCreateBitmap(a,b) XftDrawCreateBitmap(a,b)
515 #define FftDrawChange(a,b) XftDrawChange(a,b)
516 #define FftDrawDestroy(a) XftDrawDestroy(a)
517 #define FftDrawString8(a,b,c,d,e,f,g) XftDrawString8(a,b,c,d,e,f,g)
518 #define FftDrawString16(a,b,c,d,e,f,g) XftDrawString16(a,b,c,d,e,f,g)
519 #define FftDrawString32(a,b,c,d,e,f,g) XftDrawString32(a,b,c,d,e,f,g)
520 #define FftPDrawString8 XftDrawString8
521 #define FftPDrawString16 XftDrawString16
522 #define FftPDrawString32 XftDrawString32
523 #define FftDrawRect(a,b,c,d,e,f) XftDrawRect(a,b,c,d,e,f)
524 #define FftDrawSetClip(a,b) XftDrawSetClip(a,b)
525 #define FftTextExtents8(a,b,c,d,e) XftTextExtents8(a,b,c,d,e)
526 #define FftTextExtents16(a,b,c,d,e) XftTextExtents16(a,b,c,d,e)
527 #define FftTextExtents32(a,b,c,d,e) XftTextExtents32(a,b,c,d,e)
528 #define FftFontMatch(a,b,c,d) XftFontMatch(a,b,c,d)
529 #define FftFontOpenPattern(a,b) XftFontOpenPattern(a,b)
530 #define FftFontOpenName(a,b,c) XftFontOpenName(a,b,c)
531 #define FftFontOpenXlfd(a,b,c) XftFontOpenXlfd(a,b,c)
532 #define FftFontClose(a,b) XftFontClose(a,b)
533 #define FftFontSetCreate() XftFontSetCreate()
534 #define FftFontSetAdd(a,b) XftFontSetAdd(a,b)
535 #define FftInit(a) XftInit(a)
536 #define FftListFontSets(a,b,c,d) XftListFontSets(a,b,c,d)
537 #define FftNameParse(a) XftNameParse(a)
538 #define FftXlfdParse(a,b,c) XftXlfdParse(a,b,c)
539 #define FftCoreOpen(a,b) XftCoreOpen(a,b)
543 #define FftDrawStringUtf8(a,b,c,d,e,f,g) XftDrawStringUtf8(a,b,c,d,e,f,g)
544 #define FftPDrawStringUtf8 XftDrawStringUtf8
545 #define FftTextExtentsUtf8(a,b,c,d,e) XftTextExtentsUtf8(a,b,c,d,e)
547 #define FftDrawStringUtf8(a,b,c,d,e,f,g)
548 #define FftPDrawStringUtf8 FftPDumyFunc
549 #define FftTextExtentsUtf8(a,b,c,d,e)
552 #else /* !FftSupport */
554 #define FFT_FAMILY ""
557 #define FFT_WEIGHT ""
559 #define FFT_PIXEL_SIZE ""
560 #define FFT_SPACING ""
561 #define FFT_FOUNDRY ""
563 #define FFT_ANTIALIAS ""
567 #define FFT_RASTERIZER ""
568 #define FFT_OUTLINE ""
569 #define FFT_SCALABLE ""
572 #define FFT_RENDER ""
573 #define FFT_CHAR_WIDTH ""
574 #define FFT_CHAR_HEIGHT ""
575 #define FFT_MATRIX ""
576 #define FFT_WEIGHT_LIGHT 0
577 #define FFT_WEIGHT_MEDIUM 0
578 #define FFT_WEIGHT_DEMIBOLD 0
579 #define FFT_WEIGHT_BOLD 0
580 #define FFT_WEIGHT_BLACK 0
581 #define FFT_SLANT_ROMAN 0
582 #define FFT_SLANT_ITALIC 0
583 #define FFT_SLANT_OBLIQUE 0
584 #define FFT_PROPORTIONAL 0
586 #define FFT_CHARCELL 0
587 #define FFT_RGBA_NONE 0
588 #define FFT_RGBA_RGB 0
589 #define FFT_RGBA_BGR 0
590 #define FFT_RGBA_VRGB 0
591 #define FFT_RGBA_VBGR 0
593 #define FFT_HINTING ""
594 #define FFT_VERTICAL_LAYOUT ""
595 #define FFT_AUTOHINT ""
596 #define FFT_GLOBAL_ADVANCE ""
597 #define FFT_SOURCE ""
598 #define FFT_CHARSET ""
600 #define FFT_DIR_CACHE_FILE ""
601 #define FFT_USER_CACHE_FILE ""
602 /* skip all the FC_LANG_* OS/2 CodePageRange bits */
604 #define FFT_ENCODING ""
607 #define FftConfigSubstitute(a) False
608 #define FftValuePrint(a)
609 #define FftPatternPrint(a)
610 #define FftFontSetPrint(a)
611 #define FftGlyphExists(a,b,c) False
612 #define FftObjectSetCreate() NULL
613 #define FftObjectSetAdd(a,b) False
614 #define FftObjectSetDestroy(a)
615 #define FftObjectSetVaBuild(a,b) NULL
616 #define FftListFontsPatternObjects(a,b,c,d) NULL
617 #define FftFontSetMatch(a,b,c,d) NULL
618 #define FftNameParse(a) NULL
619 #define FftPatternCreate() NULL
620 #define FftPatternDuplicate(a) NULL
621 #define FftValueDestroy(a)
622 #define FftValueListDestroy(a)
623 #define FftPatternDestroy(a)
624 #define FftPatternFind(a,b,c) NULL
625 #define FftPatternAdd(a,b,c,d) False
626 #define FftPatternGet(a,b,c,d)
627 #define FftPatternDel(a,b) False
628 #define FftPatternAddInteger(a,b,c) False
629 #define FftPatternAddDouble(a,b,c) False
630 #define FftPatternAddString(a,b,c) False
631 #define FftPatternAddBool(a,b,c) False
632 #define FftPatternAddMatrix(a,b,c) False
633 #define FftPatternGetInteger(a,b,c,d) 0
634 #define FftPatternGetDouble(a,b,c,d) 0
635 #define FftPatternGetString(a,b,c,d) 0
636 #define FftPatternGetBool(a,b,c,d) 0
637 #define FftPatternGetMatrix(a,b,c,d) 0
638 #define FftPatternVaBuild(a,b) NULL
641 #define FftColorAllocName(a,b,c,d,e) False
642 #define FftColorAllocValue(a,b,c,d,e) False
643 #define FftColorFree(a,b,c,d)
644 #define FftDefaultHasRender(a) False
645 #define FftDefaultSet(a,b) False
646 #define FftDefaultSubstitute(a,b,c)
647 #define FftDrawCreate(a,b,c,d) NULL
648 #define FftDrawCreateBitmap(a,b) NULL
649 #define FftDrawChange(a,b)
650 #define FftDrawDestroy(a)
651 #define FftDrawString8(a,b,c,d,e,f,g)
652 #define FftDrawString16(a,b,c,d,e,f,g)
653 #define FftDrawString32(a,b,c,d,e,f,g)
654 #define FftPDrawString8 FftPDumyFunc
655 #define FftPDrawString16 FftPDumyFunc
656 #define FftPDrawString32 FftPDumyFunc
657 #define FftDrawRect(a,b,c,d,e,f)
658 #define FftDrawSetClip(a,b) False
659 #define FftTextExtents8(a,b,c,d,e)
660 #define FftTextExtents16(a,b,c,d,e)
661 #define FftTextExtents32(a,b,c,d,e)
662 #define FftFontMatch(a,b,c,d) NULL
663 #define FftFontOpenPattern(a,b) NULL
664 #define FftFontOpenName(a,b,c) NULL
665 #define FftFontOpenXlfd(a,b,c) NULL
666 #define FftFontClose(a,b)
667 #define FftFontSetCreate() NULL
668 #define FftFontSetDestroy(a)
669 #define FftFontSetAdd(a,b) False
670 #define FftInit(a) False
671 #define FftListFontSets(a,b,c,d) NULL
672 #define FftNameParse(a) NULL
673 #define FftXlfdParse(a,b,c) NULL
674 #define FftCoreOpen(a,b) NULL
677 #define FftDrawStringUtf8(a,b,c,d,e,f,g)
678 #define FftPDrawStringUtf8 FftPDumyFunc
679 #define FftTextExtentsUtf8(a,b,c,d,e)