<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MXTracks Blog &#187; Deutsch</title>
	<atom:link href="http://blog.mxtracks.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mxtracks.de</link>
	<description>oder.. was passiert in der Welt, auf MXtracks.de und 42?</description>
	<lastBuildDate>Tue, 27 Mar 2012 07:15:42 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>10 Jahre Kunde bei d)f</title>
		<link>http://blog.mxtracks.de/2012/03/10-jahre-kunde-bei-df/</link>
		<comments>http://blog.mxtracks.de/2012/03/10-jahre-kunde-bei-df/#comments</comments>
		<pubDate>Mon, 05 Mar 2012 14:10:04 +0000</pubDate>
		<dc:creator>Nico</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://blog.mxtracks.de/2012/03/10-jahre-kunde-bei-df/</guid>
		<description><![CDATA[Seit nun mehr als 10 Jahren bin ich ein zufriedener Kunde bei meinem Lieblingshoster DomainFACTORY Ich möchte mich auf diesem Wege für die gute Zusammenarbeit, den tollen Service und die immer freundlichen Mitarbeiter sowohl im Forum als auch an der (kostenlosen) Hotline bedanken. Ich bin froh, das ich mich damals [...]]]></description>
			<content:encoded><![CDATA[<p>Seit nun mehr als 10 Jahren bin ich ein zufriedener Kunde bei meinem Lieblingshoster <a href="http://df.eu">DomainFACTORY </a> <img src='http://blog.mxtracks.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Ich möchte mich auf diesem Wege für die gute Zusammenarbeit, den tollen Service und die immer freundlichen Mitarbeiter sowohl im Forum als auch an der (kostenlosen) Hotline bedanken.</p>
<p>Ich bin froh, das ich mich damals Beruflich als auch Privat für euch entschieden habe.</p>
<p>Danke D)F <img src='http://blog.mxtracks.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mxtracks.de/2012/03/10-jahre-kunde-bei-df/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bilder in Android mit der BitmapFactory skalieren</title>
		<link>http://blog.mxtracks.de/2012/02/bilder-in-android-mit-der-bitmapfactory-skalieren/</link>
		<comments>http://blog.mxtracks.de/2012/02/bilder-in-android-mit-der-bitmapfactory-skalieren/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 11:03:35 +0000</pubDate>
		<dc:creator>Nico</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[BitmapFactory]]></category>

		<guid isPermaLink="false">http://blog.mxtracks.de/de/2012/02/bilder-in-android-mit-der-bitmapfactory-skalieren/</guid>
		<description><![CDATA[Wer in Android mit Bildern arbeitet, wird schnell feststellen, das diese auch eine menge Speicher verbrauchen. Um einen Speicherüberlauf zu verhindern, sollte man die Bilder die man z.B. in einer ImageView anzeigen lassen will, auch auf die richtige größe Skalieren. Dazu gibt es in Android die BitmapFactory. Folgender Code zeigt [...]]]></description>
			<content:encoded><![CDATA[<p>Wer in Android mit Bildern arbeitet, wird schnell feststellen, das diese auch eine menge Speicher verbrauchen.</p>
<p>Um einen Speicherüberlauf zu verhindern, sollte man die Bilder die man z.B. in einer ImageView anzeigen lassen will, auch auf die richtige größe Skalieren.</p>
<p><span id="more-175"></span></p>
<p>Dazu gibt es in Android die BitmapFactory.</p>
<p>Folgender Code zeigt eine Methode, welche einem ein Bitmap verkleinert.</p>
<pre class="brush: java; gutter: true">/**
	 * Uses Bitmapfactory to shrink the given image to the expected size.
	 * @param file
	 * 			Path to the image.
	 * @param width
	 * 			expected width of the image.
	 * @param height
	 * 			expected height of the image.
	 * @return
	 * 			a Bitmap with the new size.
	 */
	public Bitmap ShrinkBitmap(String file, int width, int height) {
		Log.d(&quot;ShrinkBitmap&quot;, &quot;Trying to shrink &quot; + file + &quot; to &quot; + width + &quot;x&quot; + height);
		BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();
		bmpFactoryOptions.inJustDecodeBounds = true;
		Bitmap bitmap = BitmapFactory.decodeFile(file, bmpFactoryOptions);
		Log.d(&quot;ShrinkBitmap&quot;, &quot;Original size: &quot; + bmpFactoryOptions.outWidth + &quot;x&quot; + bmpFactoryOptions.outHeight);

		int heightRatio = (int) Math.ceil(bmpFactoryOptions.outHeight / (float) height);
		int widthRatio = (int) Math.ceil(bmpFactoryOptions.outWidth / (float) width);
		if (heightRatio &gt; 1 || widthRatio &gt; 1) {
			if (heightRatio &gt; widthRatio) {
				bmpFactoryOptions.inSampleSize = heightRatio;
				Log.d(&quot;ShrinkBitmap&quot;, &quot;Shrink ratio: &quot; + heightRatio);
			} else {
				bmpFactoryOptions.inSampleSize = widthRatio;
				Log.d(&quot;ShrinkBitmap&quot;, &quot;Shrink ratio: &quot; + widthRatio);
			}
		}
		bmpFactoryOptions.inJustDecodeBounds = false;
		bitmap = BitmapFactory.decodeFile(file, bmpFactoryOptions);
		return bitmap;
	}</pre>
<p>Um nun z.B. ein Bitmap in einer ImageView anzuzeigen, welche 50 x 50 groß ist, reicht folgender Code.</p>
<pre class="brush: java; gutter: true">Bitmap bitmap = ShrinkBitmap(&quot;/path/to/my/image.png&quot;, 50, 50);
mImageView.setImageBitmap(bitmap);</pre>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mxtracks.de/2012/02/bilder-in-android-mit-der-bitmapfactory-skalieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery.creaseFont Plugin</title>
		<link>http://blog.mxtracks.de/2011/09/jquery-creasefont-plugin/</link>
		<comments>http://blog.mxtracks.de/2011/09/jquery-creasefont-plugin/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 12:16:21 +0000</pubDate>
		<dc:creator>Nico</dc:creator>
				<category><![CDATA[Java Script]]></category>
		<category><![CDATA[Barrierefreiheit]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://blog.mxtracks.de/?p=95</guid>
		<description><![CDATA[jQuery.creaseFont ist ein Plugin für jQuery um die Schriftgröße auf der gesamten Homepage oder nur Teile davon zu vergrößern oder zu verkleinern. Ich hab aus meinem jQuery Workaround, welchen ich unter Barrierefreiheit – Schrift der Webseite vergrößern mit jQuery erläutert habe, nun ein Plugin geschrieben. Das ist flexibler. Die Einbindung [...]]]></description>
			<content:encoded><![CDATA[<p>jQuery.creaseFont ist ein Plugin für jQuery um die Schriftgröße auf der gesamten Homepage oder nur Teile davon zu vergrößern oder zu verkleinern.</p>
<p>Ich hab aus meinem jQuery Workaround, welchen ich unter <a title="Barrierefreiheit – Schrift der Webseite vergrößern mit jQuery" href="http://blog.mxtracks.de/2011/08/barrierefreiheit-schrift/" rel="bookmark">Barrierefreiheit – Schrift der Webseite vergrößern mit jQuery</a> erläutert habe, nun ein Plugin geschrieben. Das ist flexibler.</p>
<p><!--:--><span id="more-95"></span><!--:de--></p>
<p>Die Einbindung mit den default settings sieht folgendermaßen aus. Weitere Beispiele mit Einstellungen folgen weiter unten.</p>
<p>HTML Head bereich:</p>
<pre class="brush: javascript; gutter: true">&lt;script type=&quot;text/javascript&quot; src=&quot;http://code.jquery.com/jquery-1.6.4.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;jquery.creaseFont.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
jQuery(document).ready(function(){
  $.creaseFont();
});
&lt;/script&gt;</pre>
<p>Nun Beispielsweise noch die Buttons folgendermaßen einfügen:</p>
<pre class="brush: html; gutter: true">&lt;span id=&quot;fontLarge&quot; style=&quot;cursor:pointer&quot;&gt;( + )&lt;/span&gt;
&lt;span id=&quot;fontDefault&quot; style=&quot;cursor:pointer&quot;&gt;( &amp;#216; )&lt;/span&gt;
&lt;span id=&quot;fontSmall&quot; style=&quot;cursor:pointer&quot;&gt;( - )&lt;/span&gt;</pre>
<p>Als Button kann jedes Element mit der passenden ID genutzt werden.</p>
<p><strong>Optionen</strong></p>
<p>Folgende Parameter können dem Aufruf übergeben werden. Die hier gezeigten, sind auch die Standardparameter:</p>
<pre class="brush: javascript; gutter: true">$.creaseFont({
              content     :  &#039;body&#039;,
              defaultSize :  100,
              maxSize     :  160,
              minSize     :  60,
              stepSize    :  10,
              unit        :  &#039;%&#039;,
              bFontLarge  :  &#039;#fontLarge&#039;,
              bFontDefault:  &#039;#fontDefault&#039;,
              bFontSmall  :  &#039;#fontSmall&#039;,
              animate     :  true,
              animateSpeed:  500,
              cookieName  :  &#039;creaseFont&#039;,
              cookiePath  :  &#039;/&#039;,
              cookieLifetime:60
              });
});</pre>
<p>Erläuterung:</p>
<table>
<thead style="font-weight: bold;">
<tr>
<td>Parameter</td>
<td>Wert</td>
</tr>
</thead>
<tbody>
<tr>
<td>content</td>
<td>Kann ein oder mehere beliebige Elemente enthalten.<br />
&#8216;body&#8217; bezeichnet das gesamte Dokument und ist default.<br />
&#8216;#id&#8217; die id eines bestimmten Containers<br />
['#id1','id2'] die ID&#8217;s mehrerer Container in einem Array.</td>
</tr>
<tr>
<td>default_size</td>
<td>Standardschriftgröße.<br />
Default ist 100%</td>
</tr>
<tr>
<td>maxSize</td>
<td>Maximale Schriftgröße.<br />
Default ist 160%</td>
</tr>
<tr>
<td>minSize</td>
<td>Minimale Schriftgröße.<br />
Default ist 60%</td>
</tr>
<tr>
<td>stepSize</td>
<td>Um diesen Wert wird die Schrift vergrößert oder verkleinert.<br />
Defaut ist 10%</td>
</tr>
<tr>
<td>unit</td>
<td>Die Einheit der Schrift.<br />
Default ist %<br />
Möglich ist %, em, px, pt (beachte die Beispiele)</td>
</tr>
<tr>
<td>bFontLarge</td>
<td>Eindeutige ID des Buttons für die Vergrößerung.<br />
Default ist #fontLarge</td>
</tr>
<tr>
<td>bFontDefault</td>
<td>Eindeutige ID des Buttons für die Standardgröße.<br />
Default ist #fontDefault</td>
</tr>
<tr>
<td>bFontSmall</td>
<td>Eindeutige ID des Buttons für die Verkleinerung.<br />
Default ist #fontSmall</td>
</tr>
<tr>
<td>animate</td>
<td>Animation einschalten?<br />
Default ist true</td>
</tr>
<tr>
<td>animateSpeed</td>
<td>Geschwindigkeit für die Animation<br />
Default ist 500</td>
</tr>
<tr>
<td>cookieName</td>
<td>Name des Cookies, in dem die Werte gespeichert werden.<br />
Default ist creaseFont</td>
</tr>
<tr>
<td>cookiePath</td>
<td>Pfad in dem das Cookie gültig ist.<br />
Default ist / für die gesamte Domain.</td>
</tr>
<tr>
<td>cookieLifetime</td>
<td>Dauer der gültigkeit des Cookies in Tagen.<br />
Default ist 60</td>
</tr>
</tbody>
</table>
<p>Als letzten Parameter könnt ihr eine Callback Funktion aufrufen, welche ausgeführt wird, nachdem die Schrift vergrößert, verkleinert oder zurückgesetzt wurde.</p>
<pre class="brush: javascript; gutter: true"> $.creaseFont({
               after:function( obj ) {
                 $(&#039;#callback&#039;).html(&quot;Zoomlevel: &quot; + obj.currSize + obj.currUnit + &quot;&lt;br /&gt;Current Task: &quot; + obj.currTask + &quot;&lt;br /&gt;&quot; + obj.currLvl);
                 }
               });</pre>
<p>Das Object beinhaltet folgende Werte.</p>
<table>
<thead style="font-weight: bold;">
<tr>
<td>Object</td>
<td>Wert</td>
</tr>
</thead>
<tbody>
<tr>
<td>obj.currSize</td>
<td>Die aktuelle Schriftgröße.<br />
int oder float</td>
</tr>
<tr>
<td>obj.currUnit</td>
<td>Die genutze Einheit (%,em,pt,px)<br />
string</td>
</tr>
<tr>
<td>obj.currContent</td>
<td>Das HTML Element welches verändert wurde, wie bei content übergeben.<br />
string</td>
</tr>
<tr>
<td>obj.currTask</td>
<td>Die aktuelle Aufgabe welche ausgeführt wurde.<br />
(increaseFont|defaultFont|decreaseFont) string</td>
</tr>
<tr>
<td>obj.currLvl</td>
<td>Das aktuelle Zoomlevel welches erreicht wurde oder ein leerer String<br />
max &#8211; Maximale Zoolevel wurde erreicht<br />
default &#8211; Default Zoomlevel wurde geklickt<br />
min &#8211; Das minimale Zoomlevel wurde erreicht</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><strong>Beispiele</strong></p>
<p>Ein paar Beispiele mit Erläuterungen findet ihr hier:<br />
<a title="jquery.creaseFont.js Plugin Example 1" href="http://blog.mxtracks.de/projects/jQuery.creaseFont/example1.htm">jquery.creaseFont.js Plugin Example 1.</a></p>
<p><strong>Download</strong></p>
<p>&nbsp;</p>
<div class="wpfilebase-attachment">
 <div class="wpfilebase-fileicon"><a href="http://blog.mxtracks.de/download/creasefontfiles/jQuery.creaseFont.1.0.2.tar.gz" title="Download JQuery CreaseFont V1.0.2 Gzip Tarball"><img align="middle" src="http://blog.mxtracks.de/wp-includes/images/crystal/archive.png" alt="JQuery CreaseFont V1.0.2 Gzip Tarball" /></a></div>
 <div class="wpfilebase-rightcol">
  <div class="wpfilebase-filetitle">
   <a href="http://blog.mxtracks.de/download/creasefontfiles/jQuery.creaseFont.1.0.2.tar.gz" title="Download JQuery CreaseFont V1.0.2 Gzip Tarball">JQuery CreaseFont V1.0.2 Gzip Tarball</a><br />
   jQuery.creaseFont.1.0.2.tar.gz<br />
   Version: 1.0.2<br />
   
  </div>
  <div class="wpfilebase-filedetails" id="wpfilebase-filedetails1" style="display: none;">
  <p></p>
  <table border="0">
   
   <tr><td><strong>Autor:</strong></td><td>Nico</td></tr>
   
   <tr><td><strong>Anforderungen:</strong></td><td><a href="http://jquery.com/" target="_blank">jQuery</a></td></tr>
   <tr><td><strong>Kategorie:</strong></td><td>jQuery creaseFont Files</td></tr>
   <tr><td><strong>Lizenz:</strong></td><td><a href="http://creativecommons.org/licenses/by-sa/3.0/" target="_blank">CC Attribution-ShareAlike 3.0 Unported </a></td></tr>
   <tr><td><strong>Datum:</strong></td><td>28. Februar 2012</td></tr>
   
  </table>
  </div>
 </div>
 <div class="wpfilebase-fileinfo">
  10.1 KiB<br />
  32 Downloads<br />
  <a href="#" onclick="return wpfilebase_filedetails(1);">Details...</a>
 </div>
 <div style="clear: both;"></div>
</div><div class="wpfilebase-attachment">
 <div class="wpfilebase-fileicon"><a href="http://blog.mxtracks.de/download/creasefontfiles/jQuery.creaseFont.1.0.2.zip" title="Download JQuery CreaseFont V1.0.2 zip"><img align="middle" src="http://blog.mxtracks.de/wp-includes/images/crystal/archive.png" alt="JQuery CreaseFont V1.0.2 zip" /></a></div>
 <div class="wpfilebase-rightcol">
  <div class="wpfilebase-filetitle">
   <a href="http://blog.mxtracks.de/download/creasefontfiles/jQuery.creaseFont.1.0.2.zip" title="Download JQuery CreaseFont V1.0.2 zip">JQuery CreaseFont V1.0.2 zip</a><br />
   jQuery.creaseFont.1.0.2.zip<br />
   Version: 1.0.2<br />
   
  </div>
  <div class="wpfilebase-filedetails" id="wpfilebase-filedetails2" style="display: none;">
  <p></p>
  <table border="0">
   
   <tr><td><strong>Autor:</strong></td><td>Nico</td></tr>
   
   <tr><td><strong>Anforderungen:</strong></td><td><a href="http://jquery.com/" target="_blank">jQuery</a></td></tr>
   <tr><td><strong>Kategorie:</strong></td><td>jQuery creaseFont Files</td></tr>
   <tr><td><strong>Lizenz:</strong></td><td><a href="http://creativecommons.org/licenses/by-sa/3.0/" target="_blank">CC Attribution-ShareAlike 3.0 Unported </a></td></tr>
   <tr><td><strong>Datum:</strong></td><td>28. Februar 2012</td></tr>
   
  </table>
  </div>
 </div>
 <div class="wpfilebase-fileinfo">
  25.3 KiB<br />
  34 Downloads<br />
  <a href="#" onclick="return wpfilebase_filedetails(2);">Details...</a>
 </div>
 <div style="clear: both;"></div>
</div><div class="wpfilebase-attachment">
 <div class="wpfilebase-fileicon"><a href="http://blog.mxtracks.de/download/creasefontfiles/jQuery.creaseFont.1.0.1.tar.gz" title="Download JQuery CreaseFont V1.0.1 Gzip Tarball"><img align="middle" src="http://blog.mxtracks.de/wp-includes/images/crystal/archive.png" alt="JQuery CreaseFont V1.0.1 Gzip Tarball" /></a></div>
 <div class="wpfilebase-rightcol">
  <div class="wpfilebase-filetitle">
   <a href="http://blog.mxtracks.de/download/creasefontfiles/jQuery.creaseFont.1.0.1.tar.gz" title="Download JQuery CreaseFont V1.0.1 Gzip Tarball">JQuery CreaseFont V1.0.1 Gzip Tarball</a><br />
   jQuery.creaseFont.1.0.1.tar.gz<br />
   Version: 1.0.1<br />
   
  </div>
  <div class="wpfilebase-filedetails" id="wpfilebase-filedetails3" style="display: none;">
  <p></p>
  <table border="0">
   
   <tr><td><strong>Autor:</strong></td><td>Nico</td></tr>
   
   <tr><td><strong>Anforderungen:</strong></td><td><a href="http://jquery.com/" target="_blank">jQuery</a></td></tr>
   <tr><td><strong>Kategorie:</strong></td><td>jQuery creaseFont Files</td></tr>
   <tr><td><strong>Lizenz:</strong></td><td><a href="http://creativecommons.org/licenses/by-sa/3.0/" target="_blank">CC Attribution-ShareAlike 3.0 Unported </a></td></tr>
   <tr><td><strong>Datum:</strong></td><td>22. November 2011</td></tr>
   
  </table>
  </div>
 </div>
 <div class="wpfilebase-fileinfo">
  9.5 KiB<br />
  142 Downloads<br />
  <a href="#" onclick="return wpfilebase_filedetails(3);">Details...</a>
 </div>
 <div style="clear: both;"></div>
</div><div class="wpfilebase-attachment">
 <div class="wpfilebase-fileicon"><a href="http://blog.mxtracks.de/download/creasefontfiles/jQuery.creaseFont.1.0.1.zip" title="Download JQuery CreaseFont V1.0.1 zip"><img align="middle" src="http://blog.mxtracks.de/wp-includes/images/crystal/archive.png" alt="JQuery CreaseFont V1.0.1 zip" /></a></div>
 <div class="wpfilebase-rightcol">
  <div class="wpfilebase-filetitle">
   <a href="http://blog.mxtracks.de/download/creasefontfiles/jQuery.creaseFont.1.0.1.zip" title="Download JQuery CreaseFont V1.0.1 zip">JQuery CreaseFont V1.0.1 zip</a><br />
   jQuery.creaseFont.1.0.1.zip<br />
   Version: 1.0.1<br />
   
  </div>
  <div class="wpfilebase-filedetails" id="wpfilebase-filedetails4" style="display: none;">
  <p></p>
  <table border="0">
   
   <tr><td><strong>Autor:</strong></td><td>Nico</td></tr>
   
   <tr><td><strong>Anforderungen:</strong></td><td><a href="http://jquery.com/" target="_blank">jQuery</a></td></tr>
   <tr><td><strong>Kategorie:</strong></td><td>jQuery creaseFont Files</td></tr>
   <tr><td><strong>Lizenz:</strong></td><td><a href="http://creativecommons.org/licenses/by-sa/3.0/" target="_blank">CC Attribution-ShareAlike 3.0 Unported </a></td></tr>
   <tr><td><strong>Datum:</strong></td><td>22. November 2011</td></tr>
   
  </table>
  </div>
 </div>
 <div class="wpfilebase-fileinfo">
  25.1 KiB<br />
  42 Downloads<br />
  <a href="#" onclick="return wpfilebase_filedetails(4);">Details...</a>
 </div>
 <div style="clear: both;"></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.mxtracks.de/2011/09/jquery-creasefont-plugin/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Barrierefreiheit &#8211; Schrift der Webseite vergrößern mit jQuery</title>
		<link>http://blog.mxtracks.de/2011/08/barrierefreiheit-schrift/</link>
		<comments>http://blog.mxtracks.de/2011/08/barrierefreiheit-schrift/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 08:26:11 +0000</pubDate>
		<dc:creator>Nico</dc:creator>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[Java Script]]></category>
		<category><![CDATA[Barrierefreiheit]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Schrift]]></category>

		<guid isPermaLink="false">http://blog.mxtracks.de/?p=32</guid>
		<description><![CDATA[Für die Barrierefreiheit von Webseiten ist es wichtig, das Benutzer, die schlecht lesen können, die Schrift auf der ganzen Seite vergrößern können. Diese vergrößerung soll sich natürlich auf der ganzen Webseite wiederspiegeln, auch auf Unterseiten. Dazu müssen die Einstellungen vom Benutzer in einem Cookie gepseichert werden. Mit jQuery und dem [...]]]></description>
			<content:encoded><![CDATA[<p>Für die Barrierefreiheit von Webseiten ist es wichtig, das Benutzer, die schlecht lesen können, die Schrift auf der ganzen Seite vergrößern können. Diese vergrößerung soll sich natürlich auf der ganzen Webseite wiederspiegeln, auch auf Unterseiten. Dazu müssen die Einstellungen vom Benutzer in einem Cookie gepseichert werden.</p>
<p>Mit <a href="http://jquery.com/">jQuery </a>und dem <a href="https://github.com/carhartl/jquery-cookie">Cookie Plugin</a> ist das ein Kinderspiel.</p>
<p>Doch es müssen ein paar vorarbeiten erledigt werden.</p>
<p><span id="more-32"></span></p>
<h2>Die Schriften</h2>
<p>Zunächst sollte man seine Schriften im HTML grundsätzlich in CSS auslagern. Dann ist es wichtig die Schriften richtig zu definieren.</p>
<p>Ein paar Beispiele:</p>
<p><span id="f_em" style="font-size: 1em;">Ich bin 1em groß.</span> <span id="j_em">JS</span></p>
<p><span id="f_em2" style="font-size: 0.75em;">Ich bin 0.75em groß.</span> <span id="j_em2">JS</span></p>
<p><span id="f_px" style="font-size: 12px;">Ich bin 12px groß.</span> <span id="j_px">JS</span></p>
<p><span id="f_pt" style="font-size: 10pt;">Ich bin 10pt groß.</span> <span id="j_pt">JS</span></p>
<p><span id="f_proz" style="font-size: 100%;">Ich bin 100% groß.</span> <span id="j_proz">JS</span></p>
<p><span id="f_proz2" style="font-size: 100.01%;">Ich bin 100.01% groß.</span> <span id="j_proz2">JS</span><br />
<script type="text/javascript" src="/artikels-content/barrierefreiheit-schrift.js"></script></p>
<p>Im normalfall heißt das nun, 100% entspricht der größe 1em. Ich hab die größe von 12px zusätzlich angegeben, damit man sehen kann, wie diese im Verhältnis zu 1em steht, da viele Webmaster gerne ihre Schrift in 12px angeben. Das Problem mit den Pixeln(px) und auch Punkt(pt) ist nur, der Internetexplorer lässt diese nicht Skalieren. Das heißt konkret, das schlecht guckende Menschen die Schriftgröße nicht anpassen können. Mit Javascript funktioniert das übrigens auch nicht einfach so. Ihr könnt unten rechts hier im Blog ja die Schrift mit den Buttons einmal Skalieren, dann seht ihr, was ich meine.</p>
<p>Das zweite Problem ist die angabe von 100%, auch hier haben der Internetexplorer, Opera und Safari teilweise ihre Probleme. Deswegen gebe viele ihre Schriftgröße dann mit 100.01% an, was auch nicht in jedem Browser das wünschenswerte Ergebnis liefert.<br />
Die Angabe pt (punkt) ist ziemlich fest, wie der Pixel. Ein Punkt misst genau 1⁄72 Zoll oder 0,3527 mm. Punkt ist eine Angabe, die man DTP Programmen überlassen sollte. Dabei sind sie unabdinglich um beim Drucken vernünftige Layouts zu erstellen. In Webseiten hat diese Angabe nichts zu suchen, außer in ihren CSS Dateien die den Druck definieren.</p>
<p>Auf vielen Webseiten muss man, um das Layout nicht komplett zu zerlegen, leider hin und wieder auf feste größen zurückgreifen. Das trifft in den meisten Fällen nur auf den Navigationsbereich zu. Hier im Blog lässt der Navigationsbereich sich z.B. auch nicht Skalieren, ob das nun gut ist oder nicht sei mal dahingestellt <img src='http://blog.mxtracks.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Zu beachten ist auch, das die Schriftangaben vererbt werden. Das heißt die Schriftgrößen von z.B. &lt;h1&gt; bis &lt;h6&gt; oder auch &lt;small&gt; passen sich der Übergeordneten Schrift an. Über die größen entscheidet der Browser, wenn ihr diese nicht extra defininiert.</p>
<h2>Nun zum eigentlichen Javascript</h2>
<p>Wir binden jQuery und jQuery Cookie zwischen &lt;head&gt; und &lt;/head&gt; auf unserer Homepage ein.</p>
<pre class="brush: html; gutter: true">&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery-1.3.2.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery.cookie.js&quot;&gt;&lt;/script&gt;</pre>
<p>Das eigentliche Script, auch zwischen &lt;head&gt; und &lt;/head&gt; sieht dann so aus:</p>
<pre class="brush: javascript; gutter: true">&lt;script type=&quot;text/javascript&quot;&gt;
jQuery(document).ready(function(){
    var contentarea = $(&#039;#page&#039;); // der Bereich, welcher den kompletten Content umschließt. Hier die ID eines DIV
    var default_size = 100; // Die Standardgroeße in %
    var max_size = 160; // Die Maximale Zoomgroeße in %
    var min_size = 60; // Die Minimale Zoomgroeße in %
    var currentSize = default_size; // für die initialisierung des Scripts
    var unit = &quot;%&quot;; // Die Prozentangabe

    if ($.cookie(&quot;fontSize&quot;)) { // Gibt es schon ein Cookie?
        newsize = $.cookie(&quot;fontSize&quot;); // dann schreib die groeße die im Cookie steht in eine Variable
        currentSize = parseInt(newsize);  // setze die aktuelle groeße auf die groeße im Cookie
        contentarea.css(&#039;font-size&#039;, currentSize + unit); // uebergebe die groeße ans CSS
        }

    $(&quot;a.fontChange&quot;).mousedown(function() { // Es wird auf einen der 3 Buttons geklickt
        if (this.id == &#039;fontLarge&#039;){ // Button zum vergroeßern
            currentSize = currentSize + 10;
            if (currentSize &gt; max_size){
                currentSize = max_size;
                }
            num = currentSize;
        } else if (this.id == &#039;fontSmall&#039;) { // Button zum verkleinern
            currentSize = currentSize - 10;
            if (currentSize &lt; min_size){
                currentSize = min_size;
                }
            num = currentSize;
        } else if (this.id == &#039;fontDefault&#039;) { // Button fuer die Standardgroeße
            currentSize = default_size;
            num = default_size;
        }
        num = parseInt(num);
        $.cookie(&quot;fontSize&quot;, num, { path: &#039;/&#039;, expires: 60 }); // Cookie mit der gewaehlten groeße setzen
        contentarea.css(&#039;font-size&#039;, num + unit);
           return false;
    });
});
&lt;/script&gt;</pre>
<p>Scripttechnisch ist das alles. Nun müssen wir nur noch die Buttons an die passende Stelle im HTML einbinden.</p>
<pre class="brush: html; gutter: true">&lt;a class=&quot;fontChange&quot; id=&quot;fontLarge&quot; href=&quot;javascript:void(0);&quot;&gt;&lt;img src=&quot;/images/stock_increase-font.png&quot; width=&quot;24&quot; height=&quot;24&quot; alt=&quot;Schrift vergroeßern&quot; title=&quot;Schrift vergroeßern&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;a class=&quot;fontChange&quot; id=&quot;fontDefault&quot; href=&quot;javascript:void(0);&quot;&gt;&lt;img src=&quot;/images/stock_font-size.png&quot; width=&quot;24&quot; height=&quot;24&quot; alt=&quot;Schrift normal&quot; title=&quot;Schrift normal&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;a class=&quot;fontChange&quot; id=&quot;fontSmall&quot; href=&quot;javascript:void(0);&quot;&gt;&lt;img src=&quot;/images/stock_decrease-font.png&quot; width=&quot;24&quot; height=&quot;24&quot; alt=&quot;Schrift verkleinern&quot; title=&quot;Schrift verkleinern&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</pre>
<p>Die Icons aus dem Blog findet ihr hier:</p>
<p><a href="http://blog.mxtracks.de/wp-content/themes/silver-dreams/images/stock_increase-font.png"><img class="alignnone" title="Vergroeßern" src="http://blog.mxtracks.de/wp-content/themes/silver-dreams/images/stock_increase-font.png" alt="Bild zum Vergroeßern" width="24" height="24" /></a></p>
<p><a href="http://blog.mxtracks.de/wp-content/themes/silver-dreams/images/stock_font-size.png"><img class="alignnone" title="Standardgroeße" src="http://blog.mxtracks.de/wp-content/themes/silver-dreams/images/stock_font-size.png" alt="Bild fuer Standardgroeße" width="24" height="24" /></a></p>
<p><a href="http://blog.mxtracks.de/wp-content/themes/silver-dreams/images/stock_decrease-font.png"><img class="alignnone" title="Verkleinern" src="http://blog.mxtracks.de/wp-content/themes/silver-dreams/images/stock_decrease-font.png" alt="Bild zum Verkleinern" width="24" height="24" /></a></p>
<p>Fragen oder Anregungen zum Artikel? Hinterlasst mir einfach einen Kommentar hier.</p>
<p><em><strong>EDIT</strong></em>:<br />
Mittlerweile gibts es ein jQuery Plugin, welches ich geschrieben habe.<br />
<a title="jQuery.creaseFont Plugin" href="http://blog.mxtracks.de/2011/09/jquery-creasefont-plugin/">jQuery.creaseFont Plugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mxtracks.de/2011/08/barrierefreiheit-schrift/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Codeoptimierung</title>
		<link>http://blog.mxtracks.de/2011/08/codeoptimierung/</link>
		<comments>http://blog.mxtracks.de/2011/08/codeoptimierung/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 08:52:04 +0000</pubDate>
		<dc:creator>Nico</dc:creator>
				<category><![CDATA[MXTracks]]></category>

		<guid isPermaLink="false">http://blog.mxtracks.de/?p=26</guid>
		<description><![CDATA[Im Moment nehme ich auf der MXTracks.de Seite nur ein paar Codeänderungen und Optimierung vor und fasse ein paar funktionen in Klassen zusammen. Nichts was ihr als Benutzer sehen könntet ;-( Demnächst kommen noch ein paar Felder im Userbereich dazu, aber zur Zeit konzentriere ich mich aufs Backend um den [...]]]></description>
			<content:encoded><![CDATA[<p>Im Moment nehme ich auf der MXTracks.de Seite nur ein paar Codeänderungen und Optimierung vor und fasse ein paar funktionen in Klassen zusammen.</p>
<p>Nichts was ihr als Benutzer sehen könntet ;-(</p>
<p>Demnächst kommen noch ein paar Felder im Userbereich dazu, aber zur Zeit konzentriere ich mich aufs Backend um den Code sauberer zu bekommen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mxtracks.de/2011/08/codeoptimierung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet Explorer&#8217;s Cache-Control Extension &#8211; pre-check und post-check</title>
		<link>http://blog.mxtracks.de/2011/07/internet-explorers-cache-control-extension-pre-check-and-post-check/</link>
		<comments>http://blog.mxtracks.de/2011/07/internet-explorers-cache-control-extension-pre-check-and-post-check/#comments</comments>
		<pubDate>Fri, 29 Jul 2011 15:40:55 +0000</pubDate>
		<dc:creator>Nico</dc:creator>
		
		<guid isPermaLink="false">http://blog.piephahn.de/?p=23</guid>
		<description><![CDATA[Ich hab grad einen Interessanten Artikel über das Caching vom IE gefunden. Viele viele Webmaster senden, um das Caching ihrer Seiten zu verhindern, einen header mit folgendem Inhalt: (Dieses Beispiel in PHP) header(&#34;Cache-Control: no-store, no-cache, must-revalidate&#34;); header(&#34;Cache-Control: post-check=0, pre-check=0&#34;); Ich hab nun in folgendem Artikel gelesen, dass das völliger humbug [...]]]></description>
			<content:encoded><![CDATA[<p><!--:de-->Ich hab grad einen Interessanten Artikel über das Caching vom IE gefunden.</p>
<p>Viele viele Webmaster senden, um das Caching ihrer Seiten zu verhindern, einen header mit folgendem Inhalt:<br />
(Dieses Beispiel in PHP)</p>
<pre class="brush: php; gutter: true">header(&quot;Cache-Control: no-store, no-cache, must-revalidate&quot;);
header(&quot;Cache-Control: post-check=0, pre-check=0&quot;);</pre>
<p>Ich hab nun in folgendem Artikel gelesen, dass das völliger humbug ist.</p>
<p><!--:--><!--:en-->Ich hab grad einen Interessanten Artikel über das Caching vom IE gefunden.</p>
<p>Viele viele Webmaster senden, um das Caching ihrer Seiten zu verhindern, einen header mit folgendem Inhalt:<br />
(Dieses Beispiel in PHP)</p>
<pre class="brush: php; gutter: true">header(&quot;Cache-Control: no-store, no-cache, must-revalidate&quot;);
header(&quot;Cache-Control: post-check=0, pre-check=0&quot;);</pre>
<p>Ich hab nun in folgendem Artikel gelesen, dass das völliger humbug ist.</p>
<p><a href="http://blogs.msdn.com/b/ieinternals/archive/2009/07/20/using-post_2d00_check-and-pre_2d00_check-cache-directives.aspx">Internet Explorer&#8217;s Cache-Control Extensions &#8211; EricLaw&#8217;s IEInternals &#8211; Site Home &#8211; MSDN Blogs</a>.</p>
<p>Dort steht dazu auch</p>
<p><span><span lang="de">Das ist <strong>völlig unnötig</strong> und führt zu vergeudeten Bandbreite und HTTP-Header-Verarbeitungs Zyklen. </span><span lang="de">In einer der IE7-Betas führte dieses Muster sogar zu einem <a href="http://blogs.msdn.com/ie/archive/2006/06/01/613132.aspx">etwas amüsant und extrem frustrierend Fehler</a></span></span>.</p>
<p>Fazit: Wir lassen das post-check=0 und pre-check=0 einfach weg.<!--:--><span id="more-23"></span><!--:de--></p>
<p><a href="http://blogs.msdn.com/b/ieinternals/archive/2009/07/20/using-post_2d00_check-and-pre_2d00_check-cache-directives.aspx">Internet Explorer&#8217;s Cache-Control Extensions &#8211; EricLaw&#8217;s IEInternals &#8211; Site Home &#8211; MSDN Blogs</a>.</p>
<p>Dort steht dazu auch</p>
<p><span><span lang="de">Das ist <strong>völlig unnötig</strong> und führt zu vergeudeten Bandbreite und HTTP-Header-Verarbeitungs Zyklen. </span><span lang="de">In einer der IE7-Betas führte dieses Muster sogar zu einem <a href="http://blogs.msdn.com/ie/archive/2006/06/01/613132.aspx">etwas amüsant und extrem frustrierend Fehler</a></span></span>.</p>
<p>Fazit: Wir lassen das post-check=0 und pre-check=0 einfach weg.<!--:--></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mxtracks.de/2011/07/internet-explorers-cache-control-extension-pre-check-and-post-check/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NTVDM Fehler c0h</title>
		<link>http://blog.mxtracks.de/2011/07/ntvdm-fehler-c0h/</link>
		<comments>http://blog.mxtracks.de/2011/07/ntvdm-fehler-c0h/#comments</comments>
		<pubDate>Fri, 29 Jul 2011 12:42:17 +0000</pubDate>
		<dc:creator>Nico</dc:creator>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[Fehler]]></category>
		<category><![CDATA[NTVDM]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://blog.piephahn.de/?p=15</guid>
		<description><![CDATA[Letztens hatte ein Kollege eine nette Nichtssagende Fehlermeldung auf seinem Windows XP Computer: Die NTVDM-CPU hat einen ungültigen Befehl entdeckt. c0h Klicken Sie auf "Schließen" um die Anwendung zu beenden. Diese Meldung kam immer, wenn er ein DOS-Programm starten wollte, egal welches (ja, wir nutzen sowas noch). Nach einer langen [...]]]></description>
			<content:encoded><![CDATA[<p>Letztens hatte ein Kollege eine nette Nichtssagende Fehlermeldung auf seinem Windows XP Computer:</p>
<pre class="brush: text; gutter: false">Die NTVDM-CPU hat einen ungültigen Befehl entdeckt.
c0h Klicken Sie auf "Schließen" um die Anwendung zu beenden.</pre>
<p><a href="http://blog.mxtracks.de/wp-content/uploads/2011/07/ntvdm-c0h.jpg"><img class="alignnone size-medium wp-image-16" title="ntvdm-fehler-c0h" src="http://blog.mxtracks.de/wp-content/uploads/2011/07/ntvdm-c0h-300x83.jpg" alt="Windows Fehlermeldung NTVDM c0h" width="300" height="83" /></a></p>
<p>Diese Meldung kam immer, wenn er ein DOS-Programm starten wollte, egal welches (ja, wir nutzen sowas noch).</p>
<p>Nach einer langen Suche im Deutschsprachigen Raum fand ich nix&#8230; Die Lösung des Problems fand ich erst durch das Schlüsselwort c0h (in Worten: ce null ha).</p>
<p>Wer hätte gedacht, das die Lösung so einfach ist:<br />
Von der Windows CD Booten und die Reparaturkonsole starten. Dort dann folgende Befehle eingeben:</p>
<pre class="brush: bash; gutter: true">fixboot
fixmbr</pre>
<p>Nun läuft die Kiste wieder. Ich wäre im Normalfall nie darauf gekommen, das ein evtl. defekter Bootsector die NTVDM lahmlegt. Windows ist toll <img src='http://blog.mxtracks.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mxtracks.de/2011/07/ntvdm-fehler-c0h/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery und .postJSON?</title>
		<link>http://blog.mxtracks.de/2011/07/jquery-und-postjson/</link>
		<comments>http://blog.mxtracks.de/2011/07/jquery-und-postjson/#comments</comments>
		<pubDate>Fri, 29 Jul 2011 10:35:27 +0000</pubDate>
		<dc:creator>Nico</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Java Script]]></category>
		<category><![CDATA[JSON]]></category>

		<guid isPermaLink="false">http://blog.piephahn.de/?p=7</guid>
		<description><![CDATA[Da hatte ich den Salat, ich wollte mittels jQuery ein paar JSON Daten aus einem meiner PHP Scripte abholen. Leider reagiert das Script nur auf anfragen via POST. Nun das Problem, jQuery bietet kein .postJSON an, sondern nur ein .getJSON. Ist ja eig. auch logisch. Nur sollte man eben keine [...]]]></description>
			<content:encoded><![CDATA[<p>Da hatte ich den Salat, ich wollte mittels jQuery ein paar JSON Daten aus einem meiner PHP Scripte abholen. Leider reagiert das Script nur auf anfragen via POST.</p>
<p>Nun das Problem, jQuery bietet kein .postJSON an, sondern nur ein .getJSON. Ist ja eig. auch logisch. Nur sollte man eben keine sensiblen Daten via GET übertragen, weil diese dann z.B. auch mal in Suchmaschinen auftauchen können. Ist nicht so schön.</p>
<p>Der eigentliche Aufruf mittels .getJSON wäre folgender:</p>
<pre class="brush: javascript; gutter: true">$.getJSON(
          url,
          data,
          success_callback
          );</pre>
<p>Mittels post lässt sich das einfach so bewerkstelligen:</p>
<pre class="brush: javascript; gutter: true">$.post(
      url,
      data,
      success_callback,
      "json"
      );</pre>
<p>Ich fand, das ist eine einfachere bzw. kürzere Lösung, als sich das entsprechende <a href="http://plugins.jquery.com/project/postJSON">jQuery Plugin</a> zu installieren. Es sei denn, man verwendet die funktion an 180 stellen im Code <img src='http://blog.mxtracks.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mxtracks.de/2011/07/jquery-und-postjson/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hallo Blog-Welt!</title>
		<link>http://blog.mxtracks.de/2011/07/hallo-welt-2/</link>
		<comments>http://blog.mxtracks.de/2011/07/hallo-welt-2/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 23:50:39 +0000</pubDate>
		<dc:creator>Nico</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://blog.piephahn.de/?p=1</guid>
		<description><![CDATA[So, nun ist er erstellt, mein erster Blog. Was habe ich hiermit vor? Ehrlich gesagt, keine Ahnung Ich dachte ich brauch mal ein Archiv, wo ich meine kleinen Problemchen welche ich so mit Computern und beim Programmieren so habe, eintragen kann um später wieder darauf zurückzugreifen. Dann hab ich gedacht, [...]]]></description>
			<content:encoded><![CDATA[<p>So, nun ist er erstellt, mein erster Blog.</p>
<p>Was habe ich hiermit vor? Ehrlich gesagt, keine Ahnung <img src='http://blog.mxtracks.de/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' />  Ich dachte ich brauch mal ein Archiv, wo ich meine kleinen Problemchen welche ich so mit Computern und beim Programmieren so habe, eintragen kann um später wieder darauf zurückzugreifen.</p>
<p>Dann hab ich gedacht, warum soll die Nachwelt nicht wissen, wie ich diese Probleme gelöst habe? Also musste ein Blog her, hier ist er nun.</p>
<p>Vielleicht kann der eine oder andere ja was damit anfangen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mxtracks.de/2011/07/hallo-welt-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

