Home   Diablo3   D2rozcestník   Median 2008   Odkazy   Archiv blogu 

Chaos Sanctuary

Jak snadno dostat sIFR na stránky

Neděle, 4. květen 2008   Webovitosti

Když jsem ten článek viděla, zajásala jsem a požádala autora o souhlas s překladem, protože to vypadalo, a skutečně to tak je, jako typický návod pro lamy. Návod se týká sIFR (náhrada textu fonty z flashového souboru) verze 3 a využívá pro tvorbu fontů Macromedia Flash.

Pozn SuE: nemáte-li Macromedia Flash, můžete použít free nástroje pro tvorbu swf fontů pro sifr3 - sifr generator nebo font maker, a příslušnou část návodu přeskočte. (update březen 2009)

  • siFR generátor je webová služba - najdete u sebe font, který chcete zpracovat, nahrajete ho na web a pak si stáhnete .swf soubor.
  • font maker - nainstalujte, vyberte font a uložte jako název_fontu.swf. Je možné, že funguje s nějakou dřívější verzí sifr, který se stále vyvíjí, tu si případně stáhněte zde.

Jak přimějete sIFR k práci

Autor: David Yeiser
Přeloženo z This is how you get sifr to work s laskavým svolením autora.

Cílem tohoto tutoriálu je uspořádat informace z oficiálního webu sIFR do jednoduchého "krok-po-kroku" návodu jak implementovat na váš web sIFR

Když si návod přečtete, porozumíte základům fungování sIFR a můžete začít zkoumat i složitější oblasti sIFR.

Návod je rozdělen do šesti sekcí:

  1. Stažení všech potřebných souborů
  2. nastavení Flashového souboru pro požadované písmo
  3. nahrání potřebných souborů
  4. nahrazení ‘normálního’ textu textem ze ’sIFR’
  5. nastylování nového textu (budete překvapení, kde se to dělá!)
  6. provedení finálních úprav
  7. Závěr a další zdroje

Než začneme, uvědomte si tohle:

  • Nebudete muset modifikovat jiné soubory než ty, které stáhnete z webu sIFR. Nemusíte se starat o editaci již existujících stylů
  • sIFR degraduje velmi dobře, takže se nemusíte obávat o uživatele bez Flashe a / nebo Javascriptu.
  • Není to náročné na přenosy (v porovnání s typickými Flashovými soubory.

Začínáme!

1. Stažení sIFR

První krok je stáhnout zip soubor sIFR. List of nightly builds je asi jediné místo (pokud vím), kde získáte nejnovější verzi sIFR. Tak běžte a nejnovější verzi si stáhněte.

Když otevřete ten zip soubor, uvidíte čtyři složky a textový soubor. Pro začátek můžete ignorovat složku demo; ty tři ostatní složky —css, flash a js— obsahují ty soubory, které potřebujete.

2. Vytvoření YourTypeface.swf

Než nahrajete soubory pro sIFR na web, musíte vytvořit soubor SWF se svým písmem ze souboru FLA. V složce flash je soubor s názvem sifr.fla, otevřte ho.

Když soubor sifr.fla otevřete, měli byste vidět bílý box (viz Obr 2a).

Screen shot of initial Flash screen.
Obr 2a: Screenshot úvodní Flashové obrazovky.

Zaktivujte tento rámec dvojklikem. Měl by tam být vidět šedý text Bold Italic Normal” (viz Obr 2b).

Screen shot of Flash screen after double-clicking on it.
Obr 2b: Screenshot flashové obrazovky po dvojkliku.

Abyste aktivovali svoje písmo, vyberte text, změňte ho na požadovaný druh písma (normální, tučný, kurzivu)) a pak napište jeden znak. Jeden znak v a nebo n, cokoli si vyberete. Chcete-li mít možnost psát svůj text v kurzivě nebo tučně, musíte mít jeden znak pro každou možnost.

Např. jestliže jsem chtěl mít normální text a možnost psát kurzivu nebo tučně, napsal jsem ‘n n n‘ (viz Obr 2c). Velikost souboru pro můj zvolený font se změnila asi o 30KB - rozdíl mezi jen normálním (70 KB) a všemi třemi (100 KB). Můžete experimentovat, abyste viděli, jak velikost závisí na fontu, který si zvolíte.

Screen shot of Flash screen after typing your characters.
Obr 2c: Screenshot flashové obrazovky po napsání znaků

Nakonec vyberte požadovaný druh písma. Pro tenhle příklad jsem zvolil Arno Pro (viz Obr 2d).

Screen shot of the dialog used to control typography for Flash.
Obr 2d: Screenshot dialogu typografie pro Flash

Když to máte hotové, a máte vybrán požadovaný druh písma, jděte na File > Publish Settings. V tomto dialogovém boxu se ujistěte, že následující volby jsou nastaveny jako na Obr. 2e.

Screen shot of the first Flash Publish Settings tab.Screen shot of the second Flash Publish Settings tab.
Obr 2e: Publish Settings pro exportování souboru .SWF

Výchozí nastavení kvality JPEG je 80. U mého fontu nebyl pro nastavení kvality JPEG 80 a 100 žádný rozdíl, a tak jsem nastavil 100. Po úpravě nastavení stiskněte tlačítko Publish a tím vytvoříte svůj soubor. (Váš nový soubor .SWF by se měl objevit ve stejné složce jako soubor sifr.fla.)

Soubor, který jste právě vytvořili, se bude jmenovat sifr.swf; přejmenujte ho na název vašeho písma, v mém případě by to bylo arnopro.swf. Teď můžete nahrát soubory na svůj server.

3. Nahrání souborů na server

Aby sIFR fungoval, musíte nahrát následující soubory:

  • css/sIFR-print.css
  • css/sIFR-screen.css
  • js/sifr-config.js
  • js/sifr.js
  • flash/yourtypeface.swf

Nyní odkažte na příslušné soubory CSS a JavaScript (Obr 3a). (Na flashový soubor odkážeme v dalším kroku.)

<link rel="stylesheet" href="/cesta/k/souboru/sIFR-screen.css" type="text/css" media="screen" />
<link rel="stylesheet" href="/cesta/k/souboru/sIFR-print.css" type="text/css" media="print" />
<script type="text/javascript" src="/path/to/file/sifr.js"></script>
<script type="text/javascript" src="/cesta/k/souboru/js/sifr-config.js"></script>
Obr 3a

4. Inicializace sIFR

V tomto kroku vyvoláte soubor .SWF a řeknete mu, který text má nahrazovat. Soubor, který řídí náhradu textu, je sifr-config.js, možná jste si všimli, že jeho velikost je teď 0.

V tomto návodu použiju jako příklad dva zápisky do blogu se značkováním zobrazeným na Obr. 4a a CSS zobrazeným na Obr. 4b, výstup je zobrazen na Obr. 4c

<h2 class="cpost-title">Blog Post Title</h2>
<p>This will be our sample text for this example post.</p>
 
<h2 class="cpost-title">Another Questionable Title</h2>
<p>More example text is being shown here.</p>
Obr. 4a
h2.cpost-title { margin:12px 0 7px 0; padding-bottom:5px; font-family:Georgia, "Times New Roman", serif; font-size:24px; font-weight:normal; color:#9f0000; border-bottom:1px solid #ccc; }
p { padding-bottom:11px; font-family:Verdana, Helvetica, Arial, sans-serif; font-size:13px; line-height:22px; }
Obr. 4b
Obr 4c

Nejdříve otevřte soubor sifr-config.js a přidejte kód zobrazený na Obr. 4d, kde yourtypeface je název písma, které jste si vybrali, když jste editovali flashový soubor. Takže můj var název by byl arnopro. (Upozornění: Ujistěte se, že váš var název je jedno slovo vcelku bez mezer, a použil bych podtržítka místo pomlček.)

var yourtypeface = {
      src: '/cesta/k/souboru/yourtypeface.swf'
};
 
sIFR.activate(yourtypeface);
 
sIFR.replace(yourtypeface, {
      selector: 'h2.cpost-title',
      wmode: 'transparent'
});
Obr. 4d

Tohle odkazuje na soubor .SWF, který jste vytvořili v kroku 2, aktivuje ho, a pak nahradí vaše titulky textem ze sIFR. Dávejte pozor na formátování, je docela složité a nepromíjí chyby. Příkaz wmode: 'transparent' způsobí v Opeře bílé pozadí místo průhledného.

5. stylování

Teď, když je normální text nahrazen textem z sIFR, je potřeba nový text nastylovat. Trochu matoucí je, že CSS styly pro text ze sIFR se editují v souboru sIFR-config.js. Formátování se (většinou) dělá standardní CSS syntaxí, jen je to v javascriptovém souboru.

Styly CSS se vkládají do .sIFR-root jak ukazuje Obr. 5a. V podstatě se zde říká “asociuj každý styl, který zde je, s novým textem sIFR.”

sIFR.replace(yourtypeface, {
      selector: 'h2.cpost-title',
      css: [
      '.sIFR-root { MAIN CSS PROPERTIES }'
      ],
      wmode: 'transparent'
});
Obr 5a

K nastylování textu zadejte CSS vlastnosti stejně jako byste to udělali v normálním CSS souboru. Pro náš příklad zadáme CSS jak ukazuje Obr. 5b.

sIFR.replace(yourtypeface, {
      selector: 'h2.cpost-title',
      css: [
      '.sIFR-root { font-size:24px; font-weight:normal; color:#9f0000; background-color:transparent; }'
      ],
      wmode: 'transparent'
});
Obr. 5b

Nyní porovnejte normální text (levý sloupec) s textem ze sIFR (pravý sloupec) na Obr. 5c.

Obr. 5c

Jsou zde nějaké problémy s rozestupem písma, které se naštěstí dají vyřešit při dolaďování pomocí sIFR’s advanced JavaScript options. Ale tohle si necháme na jindy.

Přidání alternativních stylů

Můžete také přidat alternativní styly pro značky v textu, který chcete nahrazovat. Například, kdybyste chtěli stylovat tagy em a strong když jsou použity v hlavičkách h2, mohli byste přidat kód zobrazený na Obr. 5d.

sIFR.replace(yourtypeface, {
      selector: h2.cpost-title',
      css: [
      '.sIFR-root { font-size:24px; font-weight:normal; color:#9f0000; background-color:transparent; }',
      'em { font-style:italic; }',
      'strong { font-weight:bold; color:#333333; }'
      ],
      wmode: 'transparent'
});
Obr. 5d

Takže teď, když našem příkladu přidám slova Very Long s tagem strong měly by být tučné a šedé (viz Obr 5e a 5f)

<h2 class="cpost-title">A <strong>Very Long</strong> Blog Post Title </h2>
Obr. 5e
Obr. 5f

6. Závěrečné úpravy

Na konci nastavte pravidlo v souboru sIFR-screen.css, které skryje normální text, když se nahrává text ze sIFR. Tak zabráníte tomu, aby se výchozí text objevil a pak zmizel, když se nahraje text ze sIFR. Otevřte sIFR-screen.css (je ve složce css), odrolujte dolů na konec a přidejte kód zobrazený na Obr 6a

.sIFR-active h2.cpost-title { visibility:hidden; }
Obr 6a

Teď už se normální text nebobjevuje, když je sIFR aktivní, ale když je deaktivován, objeví se s normálními styly, protože class .sIFR-active je před h2.cpost-title.

7. Poznámky na konec a další zdroje

Důležité upozornění k současnému stavu sIFR a o tomto návodu.

  1. Ne každé pravidlo CSS je v sIFR platné, podívejte se do dokumentace sIFR 3 na kompatitibilitu (zvláště na sekci o stylování).
  2. Nemohu o sobě prohlašovat, že jsem expert na sIFR, takže když najdete v tutoriálu nějaké chyby, dejte mi vědět. Mým cílem bylo ukázat ostatním, jak to v jednoduše rozjet.

chcete vědět víc? Potřebujete pomoc?

  1. Teď když si můžete vybrat z množství různých fontů, bude možná vaše práce ještě trochu těžší. Přečtěte si Výběr fontu na I Love Typography.
  2. Jestli jste se zasekli a nevíte jak dál, Joyentforum o sIFR.

Pozn: SiFR 3 je stále ve vývoji a do souborů byla zabudována kontrola, zda sifr.js a soubor .swf jsou ze stejné verze. Proto se objevuje chyba, když si v jedné verzi vyrobíte .swf s písmy a pak stáhnete na web novější build sIFR. Musíte .swf soubor vyexportovat znova.

Pozn2: Některé texty, které jsou v orig článku skutečně nastylované pomocí SIFR, jsou zde jen jako obrázky, protže to nepoužívám a nechtělo se mi kvůli tomu upravovat šablonu blogu, ale úspěšně jsem si to zkusila s demo fonty na testovací stránce, vážně to funguje :-)

21 Komentářů

Zobrazit komentáře jako (Lineární | Vláknové)

#1 VfB v 05/05/2008 21.07 (Odpověď)
ještě bych upozornil, že je třeba si důkladně zkontrolovat, zda font, který chcete použít obsahujete všechny znaky, které se na Vašem webu můžou vyskytnout (zejména kanu ve většině fonrů nenajdete) a zda jsou na správných místech (staré ce fonty vytvořené pro nesprávné 1250 kódování)
#2 SuE v 06/05/2008 10.07 (Odpověď)
tam by měla být možnost vybrat si jen ty znaky, které chceš, tím by se měla snížit i velikost swf souboru a zároveň si zkontroluješ, jestli tam je to, co potřebuješ :-)
#3 Balron v 13/05/2008 21.03 (Odpověď)
Pekny navod, akorat me stve, ze to podle nej nemuzu rozjet nijak.

co je spatne na tomto zapisu?

var fertigo = {
src: '../flash/fertigo.swf';
};

sIFR.activate(fertigo);

sIFR.replace(fertigo, {
selector: 'h2.post-title',
wmode: 'transparent'
});

src jsem zkousel nastavit na vsechno mozne, dokonce i napevno na http://, "yourtypeface" jsem zmenil na nazev .swf souboru s fontem, selector je taky tak jak ma byt... v hlavicce mam spravne nalinkovane ty 4 soubory (2css a 2js), ale stejne to nefunguje. Zkousel sem i ruzne prohlizece...nic :X
#4 SuE v 13/05/2008 21.26 (Odpověď)
a ten swf je dobře? je vytvořený ve verzi sifr3? Starší swf třeba stažené z webu tam nefungují.
zkus to když tak s tím jejich dodaným swf, co tam mají jako příklad, jen pro otestování.
#5 Balron v 13/05/2008 21.35 (Odpověď)
Diky za rychlo odpoved, to sem necekal :)

Uz sem na to dosel... za "src" jsem mel navic strednik, nechapu jak se tam dostal, ale bylo to tim. :)
#6 Zdeněk Košťál http://zdenekkostal.cz v 19/07/2008 10.38 (Odpověď)
SuE, prosím zvýrazni, že SIFR funguje jen po nahrání na server. To slovíčko jsem tak nějak přehlédl a ztratil asi hodinu a půl drahocenného času. Ale návod jinak skvělý, díky za překlad!
#6.1 TS v 29/07/2009 12.35 (Odpověď)
ale :) a ako inak by to malo fungovat... staci pouvazovat
#7 Radex v 10/10/2008 22.14 (Odpověď)
Navod super jede mi vsechno jenom mam problem ceskymi fonty existuje nejaky seznam ktere lze pouzit. Pripadne jak zjistit zda mi font bude v poradku. Diky radex
#8 Rada v 04/11/2008 22.42 (Odpověď)
ahoj, v Obr. 4d máš za src navíc ;
s tím to nefunguje, v dalších příkladech už ho nemáš. Kdyžtak ho odstraň, ať zbytečně neplete. Jinak díky za pěkný překlad, hodil se:)
#9 Hlusta v 03/12/2008 11.24 (Odpověď)
Ten přebývající středník je vážně nepříjemnej... Jinak k volbě JPEG komprese při publikování: mno, když tam není rastr. obrázek, tak ta komprese nebude poznat ani při nastavení na 0 :). Jinak díky za příjemný tutoriál!
#10 SuE v 03/12/2008 19.31 (Odpověď)
tak jsem ten středník konečně vyhodila, jj, su lemra, ale moc díky za připomínky :-)
#11 Fána http://www.mistrfana.cz v 25/03/2009 18.36 (Odpověď)
Zajímalo by mě, jestli existuje nějaká možnost jak pomocí sIFR zobrazovat i znaky s diakritikou (ěščřžýáíéůú)?

Předem moc díky za odpověd, jinak článek musím pochválit ;)
#11.1 SuE v 25/03/2009 18.49 (Odpověď)
funguje to, pokud zvolený font české znaky obsahuje. Jestli máte něco stažené třeba z dafont.com, je potřeba se na to kouknout v nějakém prohlížečí fontů nebo s ním zkusit něco napsat v editoru. Co jsem zkoušela já, tak české fonty fungovaly - viz pokus:
http://suewebik.net/pokusy/sifr.html


Zkuste stáhnout něco třeba z www.ceskefonty.cz
#11.1.1 Fána http://www.mistrfana.cz v 26/03/2009 13.20 (Odpověď)
Používám Segoe Script který české znaky má, ve Photoshopu vše bez problémů, ale sIFR mi je nechce zobrazovat :(

Mohl bych případně poprosit o pomoc například o vygenerování SWF pro mlj font? Prosím :)
#11.1.2 Fána http://www.mistrfana.cz v 26/03/2009 13.32 (Odpověď)
Takže nakonec vyřešeno, hrál jsem si s Properties-Embed ve Flashi a sice paradoxní řešení ale vyšlo.. pokud jsem připojil všechny možné znaky tak SWF s fontem mělo 450 kB a české znaky nešly. Zkusil jsem tedy nepřipojit žádné znaky, tím jsem dostal SWF o velikosti 5 kB a české znaky jdou.. některý věci prostě nikdy nepochopim :)
#11.1.2.1 SuE v 26/03/2009 19.07 (Odpověď)
tak to je fajn :-)
a díky za informaci, třeba se bude někomu hodit, já zkoušela jen ty free aplikace na swf
#11.1.2.2 Noby http://www.koder-html.cz v 03/07/2009 19.12 (Odpověď)
To je zajimavé, já mám jinou zkušenost. Pomoci toho free nástroje, který je uvedeny v článku čeština funguje a má klem 30 KB, ale písmo *.PFB bylo ve výsledku jakoby obtaženo konturou a nevypadalo hezky v malé veliosti. A ve flashi mi čeština nefungovala. Až ty jsi mi dal dobrý tip, sice jsem nějaké znaky připojit musel a výsledek je 100! KB ale funguje to. Možná se mi to podaří ještě oříznou
#11.1.2.3 Arnoost http://www.arnoost.com v 28/07/2009 21.54 (Odpověď)
Poradíte mi kde ve flash nastavím možné vlastnosti Embended... Mam česky font, zkoušel jsem i fonty z ceskefonty.cz ale nikdy se mě nepovedlo české znaky prepisovat... Normální znaky mě to přepisuje... Děkuji za radu.
#11.1.2.3.1 honza http://www.nenapadka.cz v 11/05/2010 15.20 (Odpověď)
je to hned vedle volby fontu, cudlik embed... resi to vsechny vyse zminene problemy s diakritikou, staci mit font, ktery cestinu obsahuje a pak jen pridat latinku atd.
#11.1.3 dan v 28/12/2009 18.37 (Odpověď)
Ahoj, nejde mi to rozběhnout v opeře, všechny ostatní sIFR mi tam jdou. Jen ten, co sem napsal podle tohohle návodu a ten na http://suewebik.net/pokusy/sifr.html se mi v opeře nezobrazí. Řekla bys mi prosím, jaký rozdíl si udělala mezi tím v pokusech a ostatních?
#12 ranger v 05/01/2012 12.51 (Odpověď)
Zdravím zkouším pomocí přévest ttf jedná se konrétně o Bell gothic font do swf ale české znaky mi nejdou

je to pro Hru skyrim aby byklo větší písmo může mi někdo poradit

Přidat komentář


Text uzavřený mezi hvězdičky se zobrazí tučně (*word*), podtržení se dělá takto: _word_.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications
 
 

Dál už to nevede, ale můžete se vrátit nahoru nebo proslídit archiv blogu nebo nakouknout do ďábelského fora nebo na odkazy. Kontakt: sue@centrum.cz TOPlist