Foarte interesant... mi se pare mie sau s-a făcut înlocuirea? Pe
Debian nu există fonturi implicite cu diacriticele românești?
În ceea ce privește codul: eu am testat pe Win 7 cu IETester (un
simulator de IE 5.5/6/8). Cum la mine fonturile erau corecte, am
folosit Meiryo ca să pot testa, iar rezultatul a fost foarte
interesant: pe IE8 făcea înlocuirea cu sedile (136px vs 116px), pe
IE5.5/6 NU (136px vs 136px). Ce explicații ar putea exista? Fontul
afișat dacă dezactivez jsul este radical diferit, dar se face
substituția de fonturi în ambele cazuri (cred că ține de SO, am
încercat să șterg intrarea din regiștri, dar n-a avut efect).
http://img215.imageshack.us/img215/6037/ie6js.png (IE6+JS)
http://img233.imageshack.us/img233/1794/ie6nojs.png (IE6 fără JS)
http://img208.imageshack.us/img208/396/ie8js.png (IE8+JS)
http://img709.imageshack.us/img709/4531/ie8nojs.png (IE8 fără JS)
Cristi, ce rezultate (în px) ai obținut pentru IE6 fără actualizări și
fără substituții de fonturi? Mie acolo mi se pare cel mai mare riscul,
să nimerești un pătrățel la fel de lat ca litera - e valabil mai ales
pentru fonturi monospace. M-ar interesa testat cu Verdana, Arial și
Courier New.
Mulțumesc,
Strainu
De fapt e mai complicat... Din ce văd, randarea s-a făcut cu DejaVu
Sans, care are diacriticele românești, atât cele cu sedilă, cât și cele
cu virgulă, iar ele arată consistent în font din 2004, când le-am
completat (adică tcedilla chiar are o sedilă dedesubt).
Totuși, pagina pare a cere diacritice cu sedilă, iar t-ul cu virgulă
dedesubt pare a fi rezultatul unei înlocuiri de tip locl.
--
mișu
Am testat pe Windows XP cu și fără fonturi:
* Firefox 3.6.12
* Opera 10.53
* Internet Explorer 6
* Chrome 7.0
* Safari 5.0
Am testat și pe Ubuntu 10.10 cu:
* Firefox 3.6.12
* Opera 10.53
* Chrome 7.0
Chrome 7.0 folosește "Times New Roman" ca font implicit, ceea ce pe
Ubuntu 10.10 este
greșit, am deschis un bug pe această temă:
http://code.google.com/p/chromium/issues/detail?id=61366
Poate cineva testa pe un Mac Google Chrome? Se vede pagina la fel ca
Firefox și Safari?
M-ar mai interesa să știu cum se vede pagina pe un Android.
--
Cristian.
pe Mac
http://grab.by/79i6 Crome (dev build)
http://grab.by/79i9 Firefox 3.6.2
http://grab.by/79ia Safari 5.0.1
> M-ar mai interesa să știu cum se vede pagina pe un Android.
nu reușesc să fac un printscreen acum, dar pe Android 2.2 ș-ul e cu
sedilă, ț-ul e cu virguliță.
Să nu fie diferență de versiune. Chrome are acum 8.0.x pe dev pe Mac.
Nu știu cum e pe Chrome 7 pe care văd că l-ați folosit îe Ubuntu.
Vezi că pentru 99% din situri înlocuirea se poate face cu un regex
bine gândit [1]. Noi avem nevoie să parcurgem DOMul pentru că avem
pasaje marcate cu un tag și care nu trebuie atinse de înlocuiri.
> M-ar mai interesa să știu cum se vede pagina pe un Android.
Și pe Symbian (Nokia 5580) merge înlocuirea.
[1] Cică ar merge ăsta, eu nu l-am testat:
http://nds.wikipedia.org/wiki/Bruker:Slomox/vector2.js
Cristi.
Nu știu câtă lume folosește PIE pe Windows Mobile, eu folosesc exclusiv
Opera.
Cristian.
Cristian.
Ceva e în neregulă pe Debian Testing atunci cu acest script... În mod
normal nu ar trebui să facă nimic, dat fiind că fonturile implicite
(familia DejaVu) au demult diacriticele corecte (ipoteză ce o putem
verifica uitându-ne la titlul ferestrei, care e OK cu DejaVu Sans).
Însă, deși randarea textului se face cu DejaVu Serif, scriptul încearcă
să înlocuiască diacriticele cu virgulă cu cele cu sedilă. Asta nu
înțeleg de ce și nici nu reușesc să reproduc problema pe Gentoo-ul meu.
Mai apoi tcedilla este substituit cu tcommabelow. Nu cred că de către
Pango, că acolo s-ar fi înlocuit amândouă. Probabil că fonturile
DejaVu au activat ceva magie locl pentru a evita caracterul tcedilla,
dat fiind că nu e nevoie nicicând de el.
HTH,
--
mișu
> Scuze de dublura mesajului, dar simt că este mai bine să trimit linkul
> acesta
> http://cristianadam.blogspot.com/2010/10/ro-diacriticele-si-internetul.html
> într-un mesaj separat.
Am instalat scriptul la mine pe pagina asta
http://www.secarica.ro/html/ro.html
iar rezultatul este interesant.
Eu folosesc fontul Georgia, care până la XP inclusiv nu conține ș și ț.
Georgia corect există doar de la Vista încoace.
Am testat pe XP-ul meu de acasă care are încă IE 6 și am restaurat
fontul Georgia cu cel prost (original de-al XP-ului).
Constatări:
cu IE 6 / WinXP:
- fără script, este Georgia cu găuri
- cu script, este Georgia cu şţ cu sedilă
cu FF 3.6.12 / WinXP:
- fără script, este Georgia cu substituție puntuală la șț din alt font
- cu script, este Georgia cu substituție puntuală la șț din alt font
cu Opera 10.70 / WinXP:
- fără script, este Georgia cu substituție puntuală la șț din alt font
- cu script, este Georgia cu şţ cu sedilă
cu Opera Mobile 10.00 / Symbian Nokia N81:
- fără script, este ceva cu găuri (un font de-al Symbianului)
- cu script, este ceva cu şţ cu sedilă
cu Opera Mini 5.1.21214 / Symbian Nokia N81:
- cu sau fără script se vede cu găuri (un font de-al Symbianului); aici
este normal, pentru că scriptul nu ajunge la telefon
Ok, dar de ce apare diferența la FF ?
Cel mai simplu de testat (mai sigur decât privind pagina cu atenție sau
cu lupa) este prin căutare în pagină a caracterelor.
Cristi
--
Cristian Secară
http://www.secarica.ro
Pentru depanare poate ajuta să activezi alert-ul din funcția
DiacriticsOnOlderOperatingSystems() din diacritice.js
Cristi.
Cristi.
FF, Safari și Chrome nu adaugă fontul lui <body> la cele două <div>-uri,
și folosesc
"Times New Roman" pentru a detecta dacă fonturile sunt actualizate, ceea
ce în cazul
de față este fals.
Cea mai simplă soluție este adăugarea liniei:
element.style.fontFamily = "Georgia";
după linia:
element.style.fontSize = "72px";
din funcția DiacriticsConfigureTextElement().
Am încercat să determin automat care este fontul folosit în body astfel:
element.style.fontFamily = DiacriticsGetStyle(document.body,
"font-family");
dar din păcate rezultatele nu au fost foarte bune. Câteodată FF detecta
corect
fontul Georgia, dar de cele mai multe ori nu a funcționat.
--
Cristi.
> > Am testat pe XP-ul meu de acasă care are încă IE 6 și am restaurat
> > fontul Georgia cu cel prost (original de-al XP-ului).
> >
> Ai restaurat și "Times New Roman"? Sau doar Georgia?
> > Ok, dar de ce apare diferența la FF ?
Nu, doar Georgia. La mine toate fonturile erau actualizate în bloc cu
cele de la Vista, mi-am făcut mai demult un pachet pentru actualizarea
fonturilor la XP-urile cu care am eu treabă (avantaj suplimentar – la
Vista sedila este sedilă și la ţ la majoritatea fonturilor).
Ce influență are la FF faptul că Times New Roman este cel corect ? Tot
Times New Roman pare a fi declarat implicit și la IE și la Opera.
> Opera, IE adaugă la cele două <div>-uri pe care le introduc în <body>
> fontul lui <body>,
> în cazul de față Georgia și în felul acesta scriptul folosește fontul
> Georgia pentru calculul
> lățimii fontului.
>
> FF, Safari și Chrome nu adaugă fontul lui <body> la cele două
> <div>-uri, și folosesc
> "Times New Roman" pentru a detecta dacă fonturile sunt actualizate,
> ceea ce în cazul
> de față este fals.
>
> Cea mai simplă soluție este adăugarea liniei:
> element.style.fontFamily = "Georgia";
> după linia:
> element.style.fontSize = "72px";
> din funcția DiacriticsConfigureTextElement().
Ok, o să încerc (da' mi-e lene în clipa asta).
Mersi,
Dacă tot ne-am pornit cu capturi de ecran, lăsați-mă să contribui cu
niște combinații mai exotice... :)
* iPad cu iOS 3.2.2 și Safari (unicul navigator)
* Nokia n810 cu Maemo 4.1 și MicroB (navigator implicit bazat pe FF3.0)
* Nokia n810 cu Maemo 4.1 și Tear (bazat pe WebKit)
* Nokia n810 cu Maemo 4.1 și Opera Mobile 10.1 (cel mai utilizabil)
* Nokia n810 cu Maemo 4.1 și Fennec 1.1 (Firefox Mobile, foarte greoi)
În iOS nu e nevoie de substituție, fontul implicit (Times New Roman)
include diacriticele cu virgulă dedesubt. De fapt, toate fonturile
importante din sistem au suport complet pentru limba română.
În Maemo fonturile implicit folosite în navigatoare (nume vizibile:
Sans, Serif și Monospace) au toate diacriticele și nu e nevoie de
substituție. În MicroB, Tear și Fennec se preferă un sans-serif, fontul
fiind EFF Swiss Alternativ ver. 2.22. Doar Opera Mobile folosește un
font serif (EFF New Times ver. 2.22), dar și ăsta pare complet (la
mărimi mici nici nu-ți dai seama, degeaba am făcut zoom, dar în titlul
imnului e clar că accentul e commabelow). Observații: Fennec pare să
aibă o randare proprie mai bună decât cea de sistem utilizată de MicroB
și Tear, iar fontul interfeței Maemo 4.x nu are ș și ț, se substituie
glifele lipsă cu cele din fontul Sans.
HTH,
--
mișu
Am revenit la "load" și totul funcționează bine acum, problema este că
schimbarea textului se face după ce toată pagina s-a încărcat.
Cristi.
Nu știu de ce, dar am vizitat paginile cărora le-ați pus scriptul acela
și mie îmi transformă totul în sedile (indiferent de font) deși fără
script pot vedea corect toate diacriticele cu virgulă.
Folosesc Firefox 3.6.12, Ubuntu 10.10 Maverick
Bănuiesc că scopul scriptului este de a afișa sedilele doar în cazul în
care caracterele cu virgule nu sunt suportate... nu să afișeze
întotdeauna sedile..
--
Daniel Șerbănescu <cyber1...@gmail.com>
http://goo.gl/4d98
http://cristianadam.blogspot.com/2010/10/ro-diacriticele-si-internetul.html
Paginile se văd cu virgule, am pus capturile de ecran aici:
http://img202.imageshack.us/g/ubuntu10102010110111321.png/
Cristi.
Problema s-ar putea să fie doar la Eugen, la mine se vede corect (cu
virgule).
Salutări,
Andrei
--
http://nuvreauspam.ro/2010/05/4-neticheta-pe-mail/
Completare, pe Debian squeeze/unstable rezultatele sunt:
OK:
Iceweasel (Firefox) 3.5.15
Midori 0.2.7
Opera 10.53.6330
Epiphany 2.30.6
Konqueror 4.4.5
Nu e ok:
Chromium: 6.0.472.63 (ș e cu sedilă, ț cu virgulă)
Nu înțeleg care e problema. Conform meniului fontul implicit este Times
New Roman, pe care eu nu-l am instalat. Atașez o captură.
Cristi.
> Am descoperit care era problema. Am folosit evenimentul
> DOMContentLoaded pentru a face înlocuirea diacriticelor.
> DOMContentLoaded este apelat prea devreme pe FF, Chrome, Safari și
> elementele nu erau „gata”.
>
> Am revenit la "load" și totul funcționează bine acum, problema este că
> schimbarea textului se face după ce toată pagina s-a încărcat.
Acum merge uniform (și bine) în toate browserele.
Nu cred să perceapă cineva vreun hâc din cauza schimbării abia la
sfârșit. Aș putea să fac un test dar durează până o să îl fac, în
sensul că mă leg pe bluetooth prin telefon și încarc pagina așa, în
felul ăsta merge mai lent. Numai că așa ca impresie vizuală FF pare că
afișează pagina brusc după ce o încarcă.
N-am instalat nici Chrome și nici Safari (și nici nu intenționez să).
Ba da, se simte transformarea. Încercați într-o pagină mare de pe
Wikipedia, gen http://ro.wikipedia.org/wiki/Islam de pe un telefon
mobil și veți vedea că se simte chiar bine. De pe desktopuri parcă
reușisem să îl fac să nu mai fie perceptibil, dar de pe un calculator
mai vechi probabil tot se va simți.
Strainu
Pagina asta se vede bine la mine
> http://cristianadam.blogspot.com/2010/10/ro-diacriticele-si-internetul.html
>
aici văd numai sedile (verificați capturile de ecran)
http://secarica.ro/html/ro.html
iar aici am constat că inițial apăreau virgule iar după ce s-a încărcat
pagina totul s-a transformat în sedile...
(verificați funcția find din captură unde am pus caracterul „ș”)
Pe celelalte pagini de pe secarica.ro (unde nu a fost pus încă scriptul)
apar caracterele cu virgule fără probleme...
--
Daniel Șerbănescu <cyber1...@gmail.com>
> http://goo.gl/4d98
Pagina asta se vede bine la mine
aici văd numai sedile (verificați capturile de ecran)
http://secarica.ro/html/ro.html
iar aici am constat că inițial apăreau virgule iar după ce s-a încărcat
pagina totul s-a transformat în sedile...
(verificați funcția find din captură unde am pus caracterul „ș”)
Salvezi paginile de mai sus pe hdd și apoi să mergi în directorul *_files,
activezi alert-ul din scriptul diacritice.js, și să trimiți pe listă rezultatul
(poți să decupezi doar messagebox-ul)
Orice Linux dacă are instalat corefonts este adus la nivel de
*Windows XP fără fonturi actualizate*
În cazul de față scriptul a funcționat excelent, a detectat că fontul
nu conține diacritice cu virgulă și a înlocuit cu sedile!
Există două soluții:
1. dezinstalați pachetul corefonts
sau
2. instalați actualizarea de fonturi corespunzătoare extinderii Uniunii
Europene
Cristian.
Adică în captura de ecran cu diacritice corecte era Ubuntu cu opțiunile
de instalare implicite, iar în cea cu sedile era cu pachetul corefonts
instalat? Atunci înseamnă că scriptul nu e OK... De ce vrea să forțeze
sedile dacă SO-ul are multiple opțiuni de afișare a diacriticelor
corecte? Zic „multiple” pentru că în prima captură de ecran avem un
font de tip Helvetica (Liberation Sans?), iar în a doua avem DejaVu
Sans. (BUG: prima captură de ecran arată o problemă serioasă de afișare
a accentului breve la mărimi mici pentru fontul respectiv, cu opțiunile
FreeType activate implicit în Ubuntu).
> Orice Linux dacă are instalat corefonts este adus la nivel de
> *Windows XP fără fonturi actualizate*
De ce crezi așa ceva? În ce sens? Windows XP fără fonturi actualizate
are două, trei fonturi cu diacritice corecte (Tahoma și Linotype
parcă), pe când orice Linux din ultimii ani are familii întregi cu
fonturi cu suport complet pentru limba română.
> În cazul de față scriptul a funcționat excelent, a detectat că fontul
> nu conține diacritice cu virgulă și a înlocuit cu sedile!
Cum ziceam mai sus, nu e OK... Singura variantă în care ar trebui
înlocuit cu sedile este atunci când pagina cere *neapărat* Arial, iar
instalat este un Arial cu suport incomplet pentru limba română.
> Există două soluții:
> 1. dezinstalați pachetul corefonts
> sau
> 2. instalați actualizarea de fonturi corespunzătoare extinderii Uniunii
> Europene
Din păcate nici una dintre aceste două variante nu e prea OK pentru un
utilizator. Prima pentru că te face să renunți la cele mai bine
optimizate fonturi pentru afișarea de pagini web, iar a doua pentru că
nu te lasă licența...
--
mișu
http://www.youtube.com/user/GoogleWebmasterHelp#p/a/u/1/suTDT6-Q8NE
Nu-s neapărat informații specifice problemei în discuție la noi (adică
diacriticele românești și indexarea lor) dar sunt suficiente
informații pentru a dezvolta o idee sau pentru a imagina o direcție în
care se îndreaptă Google.
Ideea de bază e că testele sunt în continuare calea cea mai sigură :)
>
> Poți să faci un pic muncă de depanare?
> (poți să decupezi doar messagebox-ul)
Am decupat messagebox-ul cu un alt-print screen..
pentru paginile: http://secarica.ro/html/ro.html și
http://cristianadam.blogspot.com/2010/10/ro-diacriticele-si-internetul.html
>
iar aici http://goo.gl/4d98 nu știu să modific fișierul bin... nu am
m-am juca în java deloc până acum...
>
> Ai cumva pachetul corefonts instalat?
am căutat în software manager și în synaptic și n-am găsit
„corefonts” ... cred că singurele fonturi (în afară de cele implicite
din ubuntu) care s-au instalat la mine în sistem sunt cele folosite de
wine (cel mai probabil sunt fonturi importate din windows, fără nici un
fel de modificare).
--
Daniel Șerbănescu <cyber1...@gmail.com>
Ai căutat doar printre pachetele instalate? Conform packages.ubuntu.com
Ubuntu a păstrat denumirile din Debian, adică este msttcorefonts în
versiuni mai vechi și ttf-mscorefonts-installer în versiuni mai noi.
> Ai căutat doar printre pachetele instalate? Conform packages.ubuntu.com
> Ubuntu a păstrat denumirile din Debian, adică este msttcorefonts în
> versiuni mai vechi și ttf-mscorefonts-installer în versiuni mai noi.
Pachetul msttcorefonts nu îmi apare deloc în synaptic... însă pachetul
ttf-mscorefonts-installer figurează ca fiind instalat.
Întrebarea mea rămâne următoarea: de ce acel script îmi transformă
caracterele ș și ț în caractere cu sedile dacă sistemul meu suportă
ambele tipuri de caractere?
După ce am dezinstalat acel pachet, cele 3 pagini pe care a fost
instalat scriptul se văd bine...
o mică problemă... la pagina
http://cristianadam.blogspot.com/2010/10/ro-diacriticele-si-internetul.html
caracterul „ă” pare a avea o liniuță orizontală deasupra (așa se vede pe
monitorul meu de la laptop care are 15,4 inch... cu rezoluție de
1200x800 Ratio 16:10)
Căciulița lui „ă” se obsevă numai după ce apăs un Ctrl-+ pentru zoom,
dar asta e din cauza fontului.
--
Daniel Șerbănescu <cyber1...@gmail.com>
Precum la http://img442.imageshack.us/i/ubuntu1010implicit.png ? Pare a
fi un bug în Liberation Sans. Dar nu-s sigur doar din văzute, că mă
păcălesc cu randarea FreeType din ultimele Ubunturi, nu mi-e deloc
familiară. Io folosesc FreeType cu interpretorul de bytecode activat.
--
mișu
> > Căciulița lui „ă” se obsevă numai după ce apăs un Ctrl-+ pentru zoom,
> > dar asta e din cauza fontului.
>
> Precum la http://img442.imageshack.us/i/ubuntu1010implicit.png ?
Exact așa se vede și la mine... deci nu este influențat de rezoluția și
dimensiunea monitorului?
> Pare a
> fi un bug în Liberation Sans. Dar nu-s sigur doar din văzute, că mă
> păcălesc cu randarea FreeType din ultimele Ubunturi, nu mi-e deloc
> familiară. Io folosesc FreeType cu interpretorul de bytecode activat.
>
--
Daniel Șerbănescu <cyber1...@gmail.com>
Pe versiunea mea de android (1.6), în mod normal „ș” se vede bine dar în loc de „ț” apare un pătrățel .... Când intru pe pagina pe care ai montat scriptul ... „ș” cu virgulă se transformă în „ș” cu sedilă iar „pătrățel” se transformă în ț cu virgulă ... (în cazul ăsta scriptul face o treabă bună dar nu în totalitate) Folosesc android 1.6 pe SE X10 mini pro (cel mai mic android) 240x320 rezoluție
Am început să promovez soluția printre „blogări”. A se vedea
http://roxa-boxa.blogspot.com/, în special bannerul „Protecție
anti-pătrățele” :-)
--
Cristian.
> Google a lansat soluția „Instant Previews” la căutări.
>
> Se pare că „mașina” pe care rulează Instant Previews nu
> știe de diacriticele corecte și afișează pătrățele.
Am lăsat un mesaj aici, poate cine știe
http://www.google.com/support/forum/p/Webmasters/thread?tid=64a5c1863c027d91&hl=en&fid=64a5c1863c027d91000495b6b9f51e52
Andrei
Da.
>
> Văd că partea cu diacriticele parțiale de la Android nu a fost luată,
> cred că ar fi de folos pentru cei care au dispozitive cu sistemul de operare
> Android: telefoane, tablete (ex. Samsung Galaxy S tablet) și cititoare
> electronice
> de cărți (ex. Nook).
Nu cred că e necesar. Nu merge dacă se face înlocuirea completă?
>
> Am testat pagina
> http://ro.wikipedia.org/wiki/Ș<http://ro.wikipedia.org/wiki/%C8%98>pe
> Apple Safari și nu a funcționat,
> asta ar explica de ce „Instant Previews” nu funcționează, motorul din spate
> este bazat
> pe webkit. Dar aceeași pagină a funcționat în Google Chrome.
>
> Se pare că există un bug în addOnloadHook, deoarece pagina
> http://goo.gl/4d98
> funcționează pe Apple Safari.
OK, o să investighez.
Apropo de corefonts, n-am ințeles din discuțiile de aici dacă avem
vreo șansă să rezolvăm problema. N-ar trebui măcar s-o raportăm la
Sourceforge?
Strainu
>Nu cred că e necesar. Nu merge dacă se face înlocuirea completă?
> Văd că partea cu diacriticele parțiale de la Android nu a fost luată,
> cred că ar fi de folos pentru cei care au dispozitive cu sistemul de operare
> Android: telefoane, tablete (ex. Samsung Galaxy S tablet) și cititoare
> electronice
> de cărți (ex. Nook).
Apropo de corefonts, n-am ințeles din discuțiile de aici dacă avem
vreo șansă să rezolvăm problema. N-ar trebui măcar s-o raportăm la
Sourceforge?