[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