🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.ogonki
Article #7045

Re: Quenejskie locale

#7045
From: Marcin 'Qrczak' Kowalczyk
Date: Fri, 28 Aug 1998 13:26
221 lines
12264 bytes
Juhuuu, zrobiłem dokładane akcenty! Jeszcze nie testowałem wszystkich
wariacji, ale wygląda na to, że działa. Można nawet definiować w foncie
złożenia jako samodzielne znaki, np. U+0045+0328. Jeśli znak jest
niedostępny, to jest fizycznie składany z kawałków. Wszystko niezależnie
od tego, czy jest zapisany jako znak + nakładanący się akcent, czy jako
samodzielny kod (przy którym jest zapisane, na co się rozkłada). Np. jeśli
jest zdefiniowana normalna litera Ę [E z ogonkiem], to wyświetlenie E +
ogonek użyje odpowiedniego rysunku, a akcenty są dorysowywane tylko wtedy,
kiedy dany znak nie jest bezpośrednio dostępny. Pozwoli to np. narysować
lambe z "kropką pod spodem" jako z kropką w środku w osobnym znaku, tak
jak naprawdę w tym przypadku wygląda (w fontach Daniela Stevena Smitha
musi być osobna wersja tej kropki, u mnie nie), a większość innych
akcentów się zbuduje sama, jeśli jest regularnie umieszczana tuż pod
tengwą.

W Unikodzie dla każdego nakładającego się akcentu jest nawet zdefiniowane,
czy ma być nad literą, czy z prawej u góry, czy doklejony pod spodem, itp.
Dzięki temu akcenty są z reguły automatycznie umieszczane w odpowiedniej
pozycji w pionie; w poziomie nie zawsze pasuje, ale w odróżnieniu od
fontów proporcjonalnych, kiedy są potrzebne różne wersje dla liter różnych
szerokości, tutaj i tak każdy znak jest z grubsza na środku, więc jeden
akcent z reguły starcza; w moim foncie kryterium kształtu akcentu było
najczęściej to, czy litera ma parzystą, czy nieparzystą szerokość, żeby
akcent był dokładnie na środku - są przez to tylko dwie wersje części
akcentów różniące się w pozycji mniej więcej o pół piksela (np. umlaut
może mieć odstęp jednego albo dwóch pikseli między kropkami). Nie licząc
oczywiście wyjątków, np. czeskich Ľ ď ľ ť [L d l t z ptaszkami], które,
choć "logicznie" (np. w rozkładach unikodowych) mają ptaszki, w wyglądzie
mają jakby przecinki; albo g z cedillą i oczywiście gubienie kropek przez
"i" i "j", które dostają akcent u góry.

Największy problem jest taki, że każdy edytor na tym zgłupieje - źle
policzy znaki. Chyba że będzie w nim specjalnie zaimplementowane specjalne
traktowanie nakładanych się akcentów, ale znając tempo powstawania
zwykłych edytorów unikodowych, nieprędko się doczekamy czegoś takiego.
Ciekawe, bo widziałem kiedyś jakiś unikodowy terminal na svgalibie
(ogólnie kiepski), w którym było trochę japońskich liter, i one były
szerokości dwóch normalnych znaków. Tutaj też edytory działające na
konsoli, z fontem w ich mniemaniu stałej szerokości, by zgłupiały.
Tylko z konwersją nie ma problemów, a do wyświetlania na szczęście
lessowi nie przeszkadza, że "nie zgadza się" ilość znaków w linii -
do wyświetlenia tekstów w Unikodzie i tak trzeba ustawić dla lessa
COLUMNS=dużo, żeby nie łamał zbyt wcześnie. Dokładane akcenty
"zmniejszają" szerokość, więc programy w stylu lessa i lynxa (ten ostatni
zresztą ma błędy i obcina końcówki linii zawierające dużo bajtów UTF-8)
najwyżej troszkę za wcześnie złamią linię, a nie za późno, więc nie
skaszani się tak zupełnie.

On Fri, 28 Aug 1998, Gwidon S. Naskrent wrote:

> BTW: wlasnie dolozylismy wersje 1.9g fontu Tengwar Quenya na PPSD.

Co to jest PPSD?

> #>Rzeczywiscie nie jest latwo. Najwazniejsza sprawa: potrzeba standaryzacji
> #>unikodow _wszystkich_ potrzebnych kombinacji.

Już nieaktualne! Wystarczy, żeby był dobrze zdefiniowany zestaw
nakładającysh się akcentów.

> Tego sie nie zrobi i nie ma sensu robic. W hebrajskim tez tego nie ma -
> tylko niektore litery z dageszami, alef + patach (to jest w jidysz) itp.,
> ale to mozna obejsc. Tymczasem tutaj liczba kombinacji urasta w tysiace.
> Nawet gdyby bylo miejsce na astra^H^H^H^H^Hextended plane, to komu by sie
> chcialo to kodowac? A spamietac? Zeby napisac program ktory ulatwia
> wprowadzanie?

Starożytna greka jakoś jest rozpisana. Teoretycznie żadne litery
z akcentami mogłyby nie mieć samodzielnych kodów, ale dla ułatwienia (nie
wszystkie programy obsługują dokładane akcenty) i oszczędności miejsca
tekstów większość używanych liter jest rozpisana.

> #>tych liter wychdzi, zwlaszcza jesli dla porzadku chcialoby sie zrobic
> #>to "jednolicie", za to zuzywajac jakichs kombinacji, ktore maja nikle
> #>szanse pojawic sie w praktyce (czyli kazda spolgloska z kazda samogloska,
> #>wszystko z mozliwa tylda pod spodem itd.). Jesli wyszloby tego bardzo
> 
> Zapominasz ze tym mozna zapisywac wiele istniejacych i nieistniejacych
> jezykow (jesli nie wszystkie), wiec mowienie o "malych szansach pojawienia
> sie w praktyce" jest zludne.

Właśnie mówiłem, że lepiej zrobić wszystko. Ale to już nieaktualne.

> Ja tam cos mialem kiedys zrobione i wygladalo calkiem, calkiem. Oczywiscie
> kreski byly pojedynczej grubosci. Juz to zasysam przez ftpsearcha, ale
> lacze dosc wolne (ponizej 1 Mb/sek, wiec troche to potrwa).

Czekam z utęsknieniem - teraz już właściwie można wkładać to do fontu.
Najpierw trzema tylko sprawdzić, czy są dokładnie te znaki i elementy,
które trzeba.

> #>W Unikodzie kazda litera ma scisle zdefiniowany rozklad na skladniki
> #>(czasem jest niepodzielna). W przypadku liter z akcentami skladniki to
> #>zwykle litery plus akcenty typu "combining". W praktyce te akcenty niby
> 
> No wiec wlasnie moznaby tak potraktowac tehtary.

Dokładnie.

> Chociaz w drafcie nic takiego nie ma.

No to trzeba wprowadzić! W Unikodzie każdy znak ma przypisaną "kategorię"
i np. Mn to non-spacing mark. Takie muszą być tehty, różniaste tyldy itp.

Nie trzeba przy tym wersji mających takie same funkcje, a różniących się
nieznacznie wyglądem w zależności od tego, do czego są dołożone. Tylda pod
spodem wystarczy jedna, mimo że pod literami z kreską wystającą do dołu
wygląda jak kreska pozioma - i tak trzeba będzie te przypadki rysować
indywidualnie.

> #>moga byc fizycznie w fontach (nie w trybie tekstowym, np. w trutajpach)
> 
> Protestuje przeciwko takiemu ohydnemu neologizmowi jak trutajp ;-)

Co proponujesz w zamian? :-)  (Tylko nie True Type - to ma być polskie
słowo, które normalnie można zapisać i odmieniać.)

> I tu sie pojawia problem (podobnie jak w hebrajskim) - zeby wszystko gralo
> co do szerokosci. Obawiam sie ze tym juz musi sie zajac agent ktory to
> wyswietla (np. edytor, przegladarka) - w foncie mozna tylko dodac lepszy
> hinting dla malych rozmiarow.

Jak mówiłem wyżej, teraz można narysować konkretne wersje w przypadkach,
w których automatycznie dobrana szerokość będzie zła; właściwie to
najczęściej popsuje się też wysokość, bo litery z kreskami wystającymi do
góry lub do dołu odepchną akcenty, które powinny być obok tych kresek.
Trybem graficznym się nie zajmuję.

> #>w Unikodzie litera "E" jest zupelnie rownowazna dwom znakom "E" +
> #>"ogonek", chociaz malo kto to implementuje.
> 
> Jak to malo kto? Na palcach jednej reki moge policzyc fonty (z tych ktore
> mam) gdzie E-ogonek nie jest zlozeniem E i ogonka.

Miałem na myśli, że jeśli się wpisze E + ogonek, to wyświetli się
prawdziwe Ę zawarte w foncie, a nie dwa znaki. Niezależną sprawą jest
to, czy to Ę w foncie jest zapisane jako samodzielny znak, czy jako E +
_odpowiednio umiejscowiony_ (z zapisaną dokładną pozycją) ogonek,
nawet może to być jedna z wersji ogonka. Drugie podejście jest dla mnie
bardziej ekonomiczne, a można osiągnąć dokładnie taki sam efekt. Muszą
tylko te akcenty mieć indywidualnie zapisane pozycje i mieć różne wersje
dla niektórych liter - to ma nie być fizyczne wypisanie znaku szerokości
zero, zawierającego ogonek gdzieś po lewej u dołu, nie patrząc na
poprzedni znak.

> #>Tak wiec w przypadku tengwara (tengwaru?) IMHO logiczny bylby analogiczny
> 
> Tengwy! L.p. tengwa, l.mn. tengwary. Slowo jest quenejskie, wiec odmienia
> sie odpowiednio.

"Tengwara", czyli alfabetu, a nie litery.

> #>uklad: spolgloski osobno, samogloski nakladajace sie na poprzednia litere
> #>osobno, oraz dodatkowo wszystkie ich kombinacje, przy czym wystarczy jedna
> #>wersja kazdej nakladajacej sie samogloski. Moze to dodatkowo ulatwiac
> 
> A co ze znaczkami ktore moga wystepowac na dole?

Dokładnie to samo, co ze znaczkami na górze.

Gorzej, że niektóre się dokładają w środek litery - np. dodatki dla
poprzedniego "n" czy "m" albo dla następnego "s" albo dla podwojenia
spółgłoski. Takie trzeba będzie rysować indywidualnie.

> #>Jak jest z transkrypcja polskiego?
> 
> Patrz na PPSD: wymyslilem sobie taki rozklad. Nie ma on praktycznego (jak
> mniemam) zastosowania, chyba ze ktorys z P.T. dyskutantow czyni mi honor
> uzywajac go.

Co to jest PPSD?!

> Nieeeee, tylko nie to znowu! Teraz zaczniesz moj piekny uklad
> przerabiac, i to calosciowo, bo przeciez i to tehta, a j - tengwa!

Akurat z ostatnimi sześcioma wyrazami się zgadzam :-)

> Nie chce slyszec o zadnych 35 spolgloskach. Ja zakodowalem okolo 25
> (zadnych tam miekkich k, g, p, t...) a palatalizacje zaznaczam tehta.

A pfuj!

> Zanim zaczniesz cos grzebac przeczytaj chocby dodatek D "Wladcy
> Pierscieni" (w "Powrocie Krola", jesli masz wydanie trzytomowe), bo
> inaczej naprawde zrobisz straszny bajzel. Mowie powaznie, Dodatek D to
> lektura podstawowa.

Czytałem Trylogię bardzo dawno, a teraz jej chyba w ogóle nie mam w domu.
To było polskie tłumaczenie (Skibniewskiej), w którym była wzmianka, że
pominięte są rozważania o alfabetach i językach, jako za bardzo zależne
od języka angielskiego - byłem wtedy strasznie zły.

Czy Tolkien kazał zapisywać polską miękkość w nielogiczny sposób?

> A po co oddawac miekkosc? Eldarowie nie zaznaczali miekkosci spolglosek
> (jesli byly w ich jezykach), wiec nie wymyslili nic specjalnego (jak my
> kreski nad s, c, n, z).

Jakoś trzeba, żeby odróżnić pasek od piasku. Nie widzę powodu, żeby
zaznaczać to dodatkową samogłoską, skoro tam nie ma dodatkowej samogłoski.
Dodatkowej spółgłoski zresztą też nie ma, tylko zwyczajna miękka
spółgłoska, i "pia" ma się dokładnie tak do "pa", jak "pi" do "py".

> Byc moze, ale nie na WWW. Jedynie jako doce Worda.

Aha. Jeśli mało tych doców, to można sobie darować.

> #>Moglbym nawet w wolnej chwili sprobowac to porysowac, ale najpierw ktos
> #>inny musialby zajac sie scislym okresleniem, ktore znaki sa potrzebne,
> 
> Wszystkie. Moze nie do polskiego, ale nie zapominaj ze sa tez inne jezyki.

Nie wiem, które dokładnie są te wszystkie! Jest mnóstwo wyjątkowych
elementów, które można doklejać do przeróżnych rzeczy, po parę naraz,
i się trochę gubię.

-- 
 __("<   Marcin Kowalczyk * qrczak@knm.org.pl http://qrczak.home.ml.org/
 \__/       GCS/M d- s+:-- a21 C+++>+++$ UL++>++++$ P+++ L++>++++$ E->++
  ^^                W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP->+ t
QRCZAK                  5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y-
Technical Details
Message-ID: <Pine.LNX.4.01.9808281424080.6924-100000@qrnik.knm.org.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.nask.pl!orion.cst.tpsa.pl!news.tpnet.pl!not-for-mail
References: <Pine.BSF.4.02A.9808271024080.28511-100000@hoth.amu.edu.pl> <Pine.LNX.4.01.9808271233090.1081-100000@qrnik.knm.org.pl> <Pine.BSF.4.02A.9808281046400.28081-100000@hoth.amu.edu.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.nask.pl!orion.cst.tpsa.pl!news.tpnet.pl!not-for-mail
From: Marcin 'Qrczak' Kowalczyk <qrczak@knm.org.pl>
Newsgroups: pl.comp.ogonki
Subject: Re: Quenejskie locale
Organization: Klub Nieszkodliwych Manjaków
Lines: 222
Message-ID: <Pine.LNX.4.01.9808281424080.6924-100000@qrnik.knm.org.pl>
References: <Pine.BSF.4.02A.9808271024080.28511-100000@hoth.amu.edu.pl> <Pine.LNX.4.01.9808271233090.1081-100000@qrnik.knm.org.pl> <Pine.BSF.4.02A.9808281046400.28081-100000@hoth.amu.edu.pl>
Mime-Version: 1.0
In-Reply-To: <Pine.BSF.4.02A.9808281046400.28081-100000@hoth.amu.edu.pl>
Date: Fri, 28 Aug 1998 13:26:00 GMT
NNTP-Posting-Host: 195.116.251.6
X-Complaints-To: abuse@tpsa.pl
X-Trace: news.tpnet.pl 904310760 195.116.251.6 (Fri, 28 Aug 1998 15:26:00 MET DST)
NNTP-Posting-Date: Fri, 28 Aug 1998 15:26:00 MET DST
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit