09. juni 2005 - 20:12Der er
42 kommentarer og 1 løsning
Vise sin egen skrifttype på side?
Hej.
Jeg er gået igang med en hjemmeside. Jeg har fundet en skrifttype, som jeg gerne vil have bliver vist på siden istedet for de almindelige skrifttyper. Hvordan gør man det?
Fx kunne skrifttypen jeg har blive downloaded i en temp-mappe, hvorefter man vil kunne se siden med den skrifttype jeg har.
Nej. Brugeren skal selv downloade fonten, og placere den i font-mappen (ligger i Windows mappen). Brugeren skal muligvis genstarte browseren/computeren.
Jeg går ud fra, at skrifttypen er en ekstern skrifttype.. dvs, det er ikke en del af operativ systemet (Windows, Linux, osv..).. dvs, det er en bruger/person, der har lavet fonten..
Kender godt den metode. Men jeg har set andre sider, hvor de bruger denne funktion, jeg skrev ovenover med temp-mappen. Nu søger jeg en metode at programmere det - ikke alene den metode. Hvis der findes lettere er det klart fortrukken :)
De andre sites, har garanteret lavet menuer (osv..) med grafik.. dvs, billeder.. så man kan lave mange forskellige fonts..
Man kunne også lave hele alfabetet i billeder, og derefter erstatte alle bogstaver med billeder.. det tager lidt tid at loade første gang, da hele alfabetet lige skal caches.. og det ser nok lidt sjovt ud, når den "skriver" teksten på dine sider :-)
Jeg ved godt at jeg skal til at lave en hver billede i fx photoshop og gemme med gennemsigtig baggrund i enten gif eller png format - skal bare bruge en kode eller lignende til det :)
Men tilbage til emnet, så er jeg faktisk rimelig sikker på, at eksemplet jeg skrev i toppen er blevet brugt før. Jeg mener selv at have været inde på sådan en side, som har brugt den metode. Jeg kan dog ikke huske, hvilken side det var.
Så! :-) Nu kan den også håndtere tags (<img...>, <b>, osv..):
function txt2img(sid) { var skift = 'ja'; // bestemmer om bogstavet skal laves om var objektet = document.getElementById(sid); // objektet/boksen der indeholder teksten var teksten = objektet.innerHTML; // selve teksten var bogstav = ""; // variabel der kommer til at indeholde bogstaver var nytekst = ""; // den nye tekst, der skal smides tilbage i boksen
var kode_start = '<font color="#ff0000">'; // skal rettes til: <img src=" var kode_slut = '</font>'; // skal rettes til: .gif" />
teksten = teksten.replace(/ /gi, "þ");
for (i=0; i < teksten.length+1; i++) { bogstav = teksten.substr(teksten.length - i,1);
if (bogstav == ">") skift = 'nej'; // et tag startes, så den skal ikke længere virke
if (skift == 'ja') { // bogstavet skal laves om: nytekst = kode_start + bogstav + kode_slut + nytekst; } else { // vi er inde i et tag, og bogstavet skal derfor ikke laves om: nytekst = bogstav + nytekst; }
if (bogstav == "<") skift = 'ja'; // et tag afsluttes, så nu skal den virke igen
Hvis du ved at dine brugere på siden alle kører med Internet Explorer, så var det måske en idé at kigge på WEFT (Web Embedding Font Tools) fra Microsoft. Så vidt jeg husker er det gratis, og jeg lavede et par tests med det for et års tid siden.
Det er jeg såmænd også udemærket klar over, syntes bare alternativet skulle nævnes. Det kræver i hvert fald væsentligt mindre arbejde at implementere :)
thesurfer> kan du ikke lave en eksempel med det javascript, så skal jeg prøve det. For det ser ud til at være den bedste løsning alligevel, selv om jeg kunne foretrække et bedre løsning. (hvor jeg derefter let kan kopiere teksten fra "vis kilde")
men det link du giver i 09/06-2005 22:01:32: kan du lave også et eksempel på det - med hele alfabeten og alle tal og poste det også? så kan jeg teste bægge to og se, hvilken der passer mig bedst.
spotgun> jeg bruger allerede selv firefox, så desværre.
function txt2img(sid) { var skift = "ja"; // bestemmer om bogstavet skal laves om var objektet = document.getElementById(sid); // objektet/boksen der indeholder teksten var teksten = objektet.innerHTML; // selve teksten var bogstav = ""; // variabel der kommer til at indeholde bogstaver var nytekst = ""; // den nye tekst, der skal smides tilbage i boksen
var kode_start = '<font color="#ff0000">'; // skal rettes til: <img src=" var kode_slut = '</font>'; // skal rettes til: .gif" />
if (skift == "ja") { // bogstavet skal laves om: nytekst = nytekst + kode_start + bogstav + kode_slut; } else { // vi er inde i et tag, og bogstavet skal derfor ikke laves om: nytekst = nytekst + bogstav; }
if (bogstav == ">") skift = "ja"; // et tag startes, så den skal ikke længere virke
}
objektet.innerHTML = nytekst;
} </script>
<br><BR> Tekst 1: <span id="tekst1">dette er <b>noget</b> <img src="elogo.gif" /> tekst</span> <br><br> Tekst 2: <span id="tekst2">og noget andet tekst</span>
<br><br><a href="#" onclick="txt2img('tekst1');return false">Skfit tekst 1</a> <br><br><a href="#" onclick="txt2img('tekst2');return false">Skift tekst 2</a>
jeg har haft fingrerne i javascriptet og det som saudoo anbefaler.. men ingen af dem virker desværre. ellers kan det være det er mig, som gør noget forkert - mine evner indenfor programmering er ikke SÅ store igen :)
men jeg har dog stadig ikke set på den php-kode du har linket til thesurfer...
thesurfer> jep, det fandt jeg ud af :) det var bare mig, der rodede for meget rundt hehe..
men kan du ikke gøre at ens eget skrifttype (billederne) bliver loaded med det samme - fx OnLoad - istedet at man skal klikke på et link, som i dette tilfælde er: "Skfit tekst 1". Det skal nemlig bruges til indholdet af en side :)
ellers må du gerne ligge et svar, for det ser ud til at det bliver den løsning jeg slutter af med, selv om jeg kunne foretrække et bedre. :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.