<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.ccc-mannheim.de/mediawiki/index.php?action=history&amp;feed=atom&amp;title=FullCircle%2FLibFullCircle%2FFontRendering</id>
	<title>FullCircle/LibFullCircle/FontRendering - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://www.ccc-mannheim.de/mediawiki/index.php?action=history&amp;feed=atom&amp;title=FullCircle%2FLibFullCircle%2FFontRendering"/>
	<link rel="alternate" type="text/html" href="https://www.ccc-mannheim.de/mediawiki/index.php?title=FullCircle/LibFullCircle/FontRendering&amp;action=history"/>
	<updated>2026-05-07T16:10:14Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in C3MAWiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://www.ccc-mannheim.de/mediawiki/index.php?title=FullCircle/LibFullCircle/FontRendering&amp;diff=194&amp;oldid=prev</id>
		<title>Scytale: Full Circle</title>
		<link rel="alternate" type="text/html" href="https://www.ccc-mannheim.de/mediawiki/index.php?title=FullCircle/LibFullCircle/FontRendering&amp;diff=194&amp;oldid=prev"/>
		<updated>2012-10-13T18:09:40Z</updated>

		<summary type="html">&lt;p&gt;Full Circle&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Kategorie:FullCircle]]&lt;br /&gt;
[[Kategorie:Öffentlich]]&lt;br /&gt;
Die [[FullCircle/LibFullCircle]] soll auch Tools anbieten, um Text in einen Frame einzublenden. Konzeptuell würde ich das so einfach wie möglich halten. Ein &amp;quot;FontRenderer&amp;quot; bekommt einen Frame und legt darauf einen Text.  Auf diese Weise kann man z.B. zuerst eine Sequenz mit einer Animation erstellen und dann frameweise einen Text einblenden. Alternativ kann natürlich auch eine Sequenz und ein längerer Text an den FontRenderer gegeben werden - dieser scrollt dann den Text durch die Sequenz. &lt;br /&gt;
&lt;br /&gt;
TODO: Eine Sequenz sollte an eine andere Sequenz anhängbar sein, quasi&lt;br /&gt;
&lt;br /&gt;
  big_seq = seq1 + seq2;&lt;br /&gt;
&lt;br /&gt;
(Operator overloading FTW!)&lt;br /&gt;
&lt;br /&gt;
Der Text sollte ein einfacher, gut lesbarer 8x8-Pixelfont (kleiner?) sein, der idealerweise in einem Header abgelegt ist. Wenn ein Text nicht in den Frame passt, muss eine Exception geworfen werden.&lt;br /&gt;
&lt;br /&gt;
[[http://www.pentacom.jp/pentacom/bitfontmaker2/ PixelFont-Generator]] Dies ist am gescheitestens (imho --[[Benutzer:Ollo|Ollo]] ([[Benutzer Diskussion:Ollo|Diskussion]]) 19:49, 4. Jun. 2012 (CEST)) eine einigermaßen passende Schriftart für die Boxen zu basteln.&lt;br /&gt;
Ein Parser für dieses Dateiformat existiert bereits.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
  FontRenderer* font_renderer = new FontRenderer(10 /* width */, 5 /* height */ );&lt;br /&gt;
  font_renderer-&amp;gt;loadFont(&amp;quot;/usr/local/fontFile1.xbm&amp;quot;);&lt;br /&gt;
  try {&lt;br /&gt;
    font_renderer-&amp;gt;write_text(&lt;br /&gt;
                              sequence,&lt;br /&gt;
                              0, // startposition x&lt;br /&gt;
                              0, // startposition y&lt;br /&gt;
                              &amp;quot;foobar&amp;quot; // text&lt;br /&gt;
                         );&lt;br /&gt;
  } catch (const fullcircle::RenderException&amp;amp; ce) {&lt;br /&gt;
    ...&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Der Font kann einfach im XBM-Format direkt in einem Header gespeichert werden, siehe Links.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Idee:&amp;#039;&amp;#039; XBM-Bilder können auch direkt in Frames gerendert werden, d.h. eine Methode &amp;quot;add_xbm&amp;quot; könnte direkt ein Bild im XBM-Format einblenden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Alpha ==&lt;br /&gt;
&lt;br /&gt;
Es kann Text erzeugt werden :-) Im Moment zwar nur zwei Zeichen, da das mit dem Lauftext noch nicht funktioniert.&lt;br /&gt;
Das ganze sieht dann wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
[[Datei:TextC3Alpha.png]]&lt;br /&gt;
&lt;br /&gt;
Folgender Quelltext (aus fc-simpledemo entnommen) erzeugt das ganze:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	fullcircle::Sequence::Ptr seq(new fullcircle::Sequence(25,10,5));&lt;br /&gt;
	&lt;br /&gt;
	fullcircle::RGB_t color;&lt;br /&gt;
	color.red = color.green = color.blue = 0; &lt;br /&gt;
	color.blue = 255; // now its blue ;-)&lt;br /&gt;
	&lt;br /&gt;
	fullcircle::FontRenderer::Ptr fr(new fullcircle::FontRenderer(10, 5));&lt;br /&gt;
	fr-&amp;gt;load_font(&amp;quot;font1.xbm&amp;quot;); // This file describes how to display each character&lt;br /&gt;
	fr-&amp;gt;write_text(seq, 0, 0, &amp;quot;C3&amp;quot;,color);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Setup ===&lt;br /&gt;
Aktueller Inhalt der oben genannten Datei &amp;#039;&amp;#039;&amp;#039;font1.xbm&amp;#039;&amp;#039;&amp;#039;. (Ich bin mir bewusst das es kein korrektes XBM-Format ist, aber vom Prinzip her das gleiche Speicherformat)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# KEIN Zeilenumbruch am Ende -&amp;gt; sonst hauts es auf die Nase!&lt;br /&gt;
{&amp;quot;65&amp;quot;:[30,18,30,18,18,0,0,0,0,0,0,0,0,0,0,0],&amp;quot;66&amp;quot;:[14,18,30,18,14,0,0,0,0,0,0,0,0,0,0,0],&amp;quot;67&amp;quot;:[30,2,2,2,30,0,0,0,0,0,0,0,0,0,0,0],&amp;quot;68&amp;quot;:[14,18,18,18,14,0,0,0,0,0,0,0,0,0,0,0],&amp;quot;77&amp;quot;:[27,21,17,17,0,0,0,0,0,0,0,0,0,0,0,0],&amp;quot;51&amp;quot;:[14,8,12,8,14,0,0,0,0,0,0,0,0,0,0,0],&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;copy&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;letterspace&amp;quot;:&amp;quot;64&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links zum Thema ===&lt;br /&gt;
* [http://stackoverflow.com/questions/2156572/c-header-file-with-bitmapped-fonts Stackoverflow: C-Header file w/ bitmapped fonts]&lt;br /&gt;
* [http://www.alvit.de/blog/article/25-best-license-free-pixelfonts 25 free pixelfonts]&lt;br /&gt;
* [http://www.asdala.de/algorithmik/labyrinthe/labconv.html Erklärung des XBM-Formats]&lt;br /&gt;
* [http://old.koalateam.com/lehors/xpm.html XPM library]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/X_PixMap X Pixmap format]&lt;br /&gt;
* [http://dimensionalrift.homelinux.net/combuster/mos3/?p=viewsource&amp;amp;file=/modules/gfx/font8_8.asm Public Domain Font &amp;lt;- Kandidat!]&lt;/div&gt;</summary>
		<author><name>Scytale</name></author>
	</entry>
</feed>