🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.ogonki
Article #7034

Re: Quenejskie locale

#7034
From: Marcin 'Qrczak' Kowalczyk
Date: Wed, 26 Aug 1998 19:56
132 lines
8669 bytes
On 26 Aug 1998, Piotr Auksztulewicz wrote:

> Mogę spróbować w wolnej chwili. Cały problem polega na tym, że jest to
> pismo konsonantalne, tzn. zapisuje się tylko spółgłoski. Samogłoski
> reprezentowane są przez znaki diakrytyczne. Na konsoli ciężko będzie to
> osiągnąć, bo nie da się nadpisywać znaków, zaś wszystkich możliwych
> kombinacji tengwa + tehta będzie chyba znacznie więcej niż 256, czy nawet
> 512.

Aha. Jeśli więcej niż jakieś 416 (bo przydałoby się jeszcze jakieś ASCII),
to rzeczywiście z psfa nici. Ale można użyć mojego patentu na dynamiczny
font - nie sądzę, żeby w praktyce zdarzało się więcej niż 512 różnych
znaków _równocześnie na ekranie_. Wady tego są tylko takie, że trzeba
odpalić dodatkowy program, czyli nie można np. załadować tych znaków przed
zalogowaniem się, oraz że stopniowo psuje się font na innych konsolach
wirtualnych - wypadają znaki nieużywane przez dłuższy czas na naszej
konsoli, a program nie zauważa, kiedy są potrzebne na innej (ale mam opcję
powodującą zachowywanie ASCII bez zmian, więc w czystym ASCII można na
innych konsolach pracować).

Mam nadzieję, że kiedyś w przyszłych jądrach font będzie mógł być lokalny
na danej konsoli - często to jest przydatne. Widziałem jakiś program,
który w założeniu miał się tym zajmować, ale jakoś u mnie nie działał: nie
było żadnych efektów.

Czy jest jakiś standard przyporządkowania unikodów tym wszystkim
kombinacjom? Co prawda myślałem nad zrobieniem w dynafoncie dokładanych
akcentów, tak jak w Unikodzie jest zdefiniowane również np. dla polskich,
ale jeszcze się za to nie zabrałem i chwilowo mam ważniejsze rzeczy na
głowie.

> Ewentualnie można pisać bez tehtarów, lub wkładać je nie nad czy pod,
> ale pomiędzy, np. tak jak tu: z'dz'bl/o l/a,ka

Nie podoba mi się takie częściowe rozwiązanie - na pewno nie można by
wtedy z dumą uczciwie stwierdzić, że mamy tengwar!

> Fonty Adobe Type1 i TrueType znajdziesz tu:
> http://www.lodz.tpsa.pl/iso/Tolkien/tngwr18a.zip
> 
> Można z nich zrobić pcf, ale trzeba by chyba ręcznie trochę poprawić piksle.

Zajrzę w wolnej chwili, chociaż miło by było, gdyby ktoś inny przełożył to
na bitapy 8x16 :-)  Zwłaszcza że nie znam alfabetu (ale może jest prosty).

Jak jest rozwiązana w tych fontach sprawa samogłosek?

Nie chcę samemu przyporządkowywać unikodów. Jeśli to już jest wsadzone
gdzieś powyżej U+E000, to trzeba się tego trzymać. Tyle tylko, że każda
kombinacja spółgłoska + samogłoska, każda osobno wyglądająco litera, musi
mieć oddzielny kod.

Formatu pcf niestety nie znam ani nie mam czym go skonwertować.

> Z mapą klawiatury też jest mały problem, bo nie ma jednoznacznego
> przypisania liter łacińskich (na klawiaturze) do tengwarów - jest to
> pismo fonetyczne, w dodatku przyporządkowanie znaków głoskom może być
> inne dla każdego języka.

Aha. Jeśli jest przynajmniej jakiś standard transkrypcji fonetycznej, to
można chociaż konwertować...

Mapa klawiatury nie musi być w formie fizycznej klawiatury dla jądra:
skoro i tak najprawdopodobniej potrzebujemy nakładki, to równie dobrze
można skorzystać z drugiego końca filterma (mojego programu filtrującego
wejście i wyjście terminala, podobnie jak ttyconv aka ogonki) i podpiąć
tam filtr klawiatury. Z tym że w czymś trzeba go napisać: mam co prawda
narzędzie służące do tego typu celów (taka rozszerzona wersja tr), ale
na razie nie ma tam "permanentnych kontekstów" - jest uzależnienie od
sąsiedniego tekstu, co powinno wystarczyć do samogłosek, a więc do
zewnętrznej konwersji, ale nie ma zmiennych i warunków zależnych od stanu
zapamiętanego w zmiennych, więc nie dałoby się "przełączać" między
klawiaturą łacińską a tengwarską. Trzeba by to zrobić w czymś innym,
np. w C (jako filtr stdin -> stdout) albo wprowadzać każdą literę np.
z Altem (bardzo niewygodnie) albo poczekać, aż dorobię tam jakieś
konteksty, czyli zmienne i warunki.

To wszystko dotyczy dowolnych tego typu alfabetów, niekoniecznie akurat
tego. Ja nie czytam zbyt dużo fantastyki, nie znam tych wszystkich
alfabetów, nie wiem, które są wystarczająco ważne i wystarczająco
dokładnie opracowane. To inni, którym zależy na możliwości obejrzenia
danych znaczków na konsoli Linuxa (na razie z powodu niemal braku
unikodowych edytorów niewiele jest sytuacji, w których można by je
oglądać, ale edytory kiedyś powstaną) i znają się na danym alfabecie
merytorycznie, powinni się zgłaszać. Ja zajmuję się tylko stroną
techniczną.

Za jakiś czas mój pakiet do tworzenia fontów wyjdzie z fazy beta. Jest tam
na razie jeden (będą różne rozmiary) źródłowy font unikodowy, w którym są
wszystkie znaki, do jakich udało mi się dotrzeć (większość narysowana
przeze mnie, głównie na podstawie obrazków z www.unicode.org, ale bardziej
egzotyczne alfabety (teraz hebrajski, arabski, ormiański i gruziński) są
ściągnięte z innych fontów). Nie mam oporów przed umieszczaniem tam
sztucznych i nieoficjalnych alfabetów, chociaż zdecydowanie wolałbym, żeby
były w jakimkolwiek chociażby pseudostandardzie, np. w linuksowej części
prywatnego zakresu Unikodu, a nie zupełnie dowolnie.

Jeśli ktoś ma hiraganę i katakanę w bitmapach wielkości około 8x16, to
byłbym wdzięczny za dostarczenie albo namiary (Altavistą jeszcze nie
szukałem, a przez 0202122 jest drogo). Na kanji i prawdopodobnie koreański
nie ma co liczyć - nie zmieści się w takiej rozdzielczości i tak. Nie mam
też (ani w ogóle nie znam) dwunastu alfabetów z zakresu U+0900..U+0FBF,
a co najmniej niektóre z nich powinny się zmieścić (niektóre mają niestety
dokładane akcenty, z tymi na razie bieda), części liter arabskich ani
hebrajskich samogłosek (są w formie nakładanych akcentów, których z
przyczyn technicznych na razie nie ma, oraz w formie osobnych znaków,
które być mogą) i wielu symboli specjalnych (np. dingbatsów).

Do przedwczoraj żadnego sztucznego alfabetu tam nie było, ale właśnie
udało mi się skomputeryzować mój szalony alfabet do języka polskiego,
z potencjalnie nieskończoną liczbą liter. Zatrzymałem się na poziomie
nr 5, który ma 12008 znaków (font jest generowany programowo). zrobiłem
konwersję z normalnej ortografji (tzn. prawie normalnej, tej z "j"
w niektórych miejscach i pewnych rozszerzeniach). Tymczasowo umieściłem
wszystko poczynając od U+80000 - nie wiem, jaka jest polityka alokacji
unikodów powyżej U+10000, a w zwykłym prywatnym obszarze się stanowczo nie
mieszczę. Zwłaszcza że siódmy poziom ma 433551 liter (na to moje programy
najprawdopodobniej pożarłyby za duże ilości pamięci, a w obecnej
implementacji konwersja byłaby koszmarnie powolna), a dziewiąty ma
15277419, no ale normalnie już trzeci swojimi 324 literami pozwala
wszystko zapisać, a wyżej niż piąty i tak raczej się w wielkości 9x16
nie zmieści (na szczęście dalsze litery rosną wzwyż, więc dałoby się np.
w 9x24, ale tam nie mam teraz reszty znaków, nawet ASCII). W sumie się
udało i jestem szczęśliwy; nawet w praktyce teksty nie próbują używać
więcej niż 512 znaków naraz. Wreszcie mogę ćwiczyć również czytanie
swojego alfabetu, bo do tej pory miałem okazje tylko pisać :-)

-- 
 __("<   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.9808262019560.17729-100000@qrnik.knm.org.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.task.gda.pl!orion.cst.tpsa.pl!news.tpnet.pl!not-for-mail
References: <6s1dav$qrv$1@zeus.polsl.gliwice.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.task.gda.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: 133
Message-ID: <Pine.LNX.4.01.9808262019560.17729-100000@qrnik.knm.org.pl>
Mime-Version: 1.0
In-Reply-To: <6s1dav$qrv$1@zeus.polsl.gliwice.pl>
References: <6s1dav$qrv$1@zeus.polsl.gliwice.pl>
Date: Wed, 26 Aug 1998 21:56:41 +0200
NNTP-Posting-Host: 195.205.246.199
X-Complaints-To: abuse@tpsa.pl
X-Trace: news.tpnet.pl 904162076 195.205.246.199 (Wed, 26 Aug 1998 22:07:56 MET DST)
NNTP-Posting-Date: Wed, 26 Aug 1998 22:07:56 MET DST
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit