Utilisateur:Urhixidur/Test tsolyáni

Test tsolyáni modifier

Pour rendre le script engsvanyáli, il faut soit installer la police Engsvanyali (en cours d’élaboration), qui devrait rendre la transcription latine directement en engsvanyáli, soit installer la police TsolyániFullRevised (modification de l’original qui est codé MS Symbol au lieu d’Unicode) puis écrire en inversant les syllabes (les voyelles restent après leurs consonnes respectives) et transcrivant selon la table tarabiscotée en prenant soin de choisir entre les formes initiales, médiales, finales ou isolées. Par exemple, pour "tsolyáni" :

<font face="TsolyaniFullRevised" size="200%">îiyal)o</span>

îiyal)o

Ou encore :

<SPAN STYLE="font-size: 36pt; font-family: TsolyaniFullRevised">îiyal)o</span>

îiyal)o

La police Engsvanyali devrait permettre :

<font face="Engsvanyali">Tsolyani</span>

Le problème, c’est que je ne crois pas qu’HTML ou wiki permette de détecter si la police spécifique est installée...Peut-être avec du javascript ? Le problème, c’est qu’on ne peut pas inclure de script directement dans la page wiki, il faut passer par quelque chose de plus haut.

<script>
	/**
	 * Actual Function that does all the work. Returns an array with all the info.
	 * The Assumption is that most of the browsers will have Arial set as their default sans-serif font.
	 * Source: http://www.lalit.org/lab/fontdetect.php
	 */
	var Detector = function(){
		var h = document.getElementsByTagName("BODY")[0];
		var d = document.createElement("DIV");
		var s = document.createElement("SPAN");

		d.appendChild(s);
		d.style.fontFamily = "sans-serif";		//font for the parent element DIV.
		s.style.fontFamily = "sans-serif";		//arial font used as a comparator.
		s.style.fontSize   = "72px";			//we test using 72px font size, we may use any size. I guess larger the better.
		s.innerHTML        = "mmmmmmmmmml";		//we use m or w because these two characters take up the maximum width. And we use a L so that the same matching fonts can get separated
		h.appendChild(d);
		var defaultWidth   = s.offsetWidth;		//now we have the defaultWidth
		var defaultHeight  = s.offsetHeight;	//and the defaultHeight, we compare other fonts with these.
		h.removeChild(d);

		/* test
		 * params:
		 * font - name of the font you wish to detect
		 * return: 
		 * f[0] - Input font name.
		 * f[1] - Computed width.
		 * f[2] - Computed height.
		 * f[3] - Detected? (true/false).
		 */
		function test(font) {
			h.appendChild(d);
			var f = [];
			f[0] = s.style.fontFamily = font;	// Name of the font
			f[1] = s.offsetWidth;				// Width
			f[2] = s.offsetHeight;				// Height
			h.removeChild(d);

			font = font.toLowerCase();
			if (font == "arial" || font == "sans-serif") {
				f[3] = true;	// to set arial and sans-serif true
			} else {
				f[3] = (f[1] != defaultWidth || f[2] != defaultHeight);	// Detected?
			}
			return f;
		}
		this.test = test;
	}

	var fonts = [];
</script>

You can test any Font here: <input type=text id="newfont"> <input type=button value="Test" onclick="alert((new Detector()).test(document.getElementById('newfont').value)[3])">