[teklib-general] changeset in /hg/teklib/current: added font matching sample code
Franciska Schulze
fschulze at neoscientists.org
Mon Nov 26 16:22:40 CET 2007
changeset ddfca52d2d68 in /hg/teklib/current
details: http://teklib.org:8001/hg/teklib/current?cmd=changeset;node=ddfca52d2d68
description:
added font matching sample code
diffs (75 lines):
diff -r b9dcaed14e83 -r ddfca52d2d68 src/visual/tests/fonts.c
--- a/src/visual/tests/fonts.c Tue Sep 11 19:06:09 2007 +0200
+++ b/src/visual/tests/fonts.c Tue Sep 11 19:07:06 2007 +0200
@@ -33,17 +33,54 @@ TVOID fonttest(TAPTR v, TVPEN *pentab)
TAPTR cfont = TNULL;
TAPTR dfont = TNULL;
TSTRPTR buf = "hallo";
- TTAGITEM ftags[5];
+ TTAGITEM ftags[6];
static TBOOL init_done = TFALSE;
if (!init_done)
{
+ TAPTR fq = TNULL;
+ TTAGITEM *ctags = TNULL;
+
+ /* open default font in 20px */
+ ftags[0].tti_Tag = TVisual_FontPxSize;
+ ftags[0].tti_Value = (TTAG) 20;
+ ftags[1].tti_Tag = TTAG_DONE;
+ dfont = TVisualOpenFont(v, ftags);
+
+ /* query fonts */
ftags[0].tti_Tag = TVisual_FontName;
- ftags[0].tti_Value = (TTAG) "";
- ftags[1].tti_Tag = TTAG_DONE;
-
- dfont = TVisualOpenFont(v, ftags);
-
+ ftags[0].tti_Value = (TTAG) "*";
+ ftags[1].tti_Tag = TVisual_FontPxSize;
+ ftags[1].tti_Value = (TTAG) 18;
+ ftags[2].tti_Tag = TVisual_FontBold;
+ ftags[2].tti_Value = (TTAG) TTRUE;
+ ftags[3].tti_Tag = TVisual_FontItalic;
+ ftags[3].tti_Value = (TTAG) TFALSE;
+ ftags[4].tti_Tag = TVisual_FontNumResults;
+ ftags[4].tti_Value = (TTAG) 1024;
+ ftags[5].tti_Tag = TTAG_DONE;
+
+ fq = TVisualQueryFonts(v, ftags);
+ if (fq)
+ {
+ while((ctags = TVisualGetNextFont(v, fq)))
+ {
+ printf("%s\n", (TSTRPTR)TGetTag(ctags, TVisual_FontName, (TTAG)"???"));
+ }
+
+ ctags = TVisualGetNextFont(v, fq);
+
+ if (ctags)
+ {
+ /* open custom font */
+ cfont = TVisualOpenFont(v, ctags);
+ }
+
+ /* destroy font handle */
+ TDestroy(fq);
+ }
+#if 0
+ /* open custom font */
ftags[0].tti_Tag = TVisual_FontName;
ftags[0].tti_Value = (TTAG) "helvetica";
ftags[1].tti_Tag = TVisual_FontPxSize;
@@ -53,9 +90,8 @@ TVOID fonttest(TAPTR v, TVPEN *pentab)
ftags[3].tti_Tag = TVisual_FontBold;
ftags[3].tti_Value = (TTAG) TTRUE;
ftags[4].tti_Tag = TTAG_DONE;
-
cfont = TVisualOpenFont(v, ftags);
-
+#endif
if (dfont && cfont)
{
TUINT ul = 0;
More information about the teklib-general
mailing list