Autor Wątek: Czcionki i polskie znaki w CPC  (Przeczytany 25018 razy)

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Czcionki i polskie znaki w CPC
« Odpowiedź #15 dnia: 2014.09.02, 22:03:08 »
Pierwszy alfabet to Japońskie Katakana. Podstawowym zestawem japońskich znaków jest tzw Kanji (czyt. kandżi) składa się z ponad 6 tys znaków z których każde jest całym słowem, a spora ich część to nazwy własne np z geografii. Dorosły wykształcony Japończyk zna blisko 3 tys z nich, a wystarczy zaledwie 500 by przeczytać ze zrozumieniem ok 75% tekstów, np w gazecie. Drugim zestawem uzupełniającym jest Hiragana, składa się z 48 znaków (tak samo jak Katakana) a służą jako zmienione końcówki lub przedrostki do Kanji, dla słów które nie mają w nich swojego znaku. To taki odpowiednik naszej ortografii. Zwykle to właśnie Hiragana są widoczne na japońskich klawiaturach. Każde Kanji da się też sylabizować/zapisać ciągiem od 2 do 7 Hiragana lub Katakana. To pierwsze stosuje się do wklepywania słów w komputerach, (działa podobnie jak słownik T9 w komórkach), a to drugie stosuje się tak jak u nas druk wytłuszczony by podkreślić jakieś słowo w tekście oraz w banerach reklamowych. Także do zapisywania słów z obcych języków oraz w początkowym etapie nauki japońskiego. :)

W 8-bitowcach stosowano dodatkowy ROM 16KB w którym się mieścił zestaw znaków Katakana i Hiragana, razem z 500 popularniejszych Kanji o matrycy 16x16 pikseli. Fajnie byłoby skądś to wytrzasnąć. ;) Ale nie będę robił całego Kanji ani chińskiego z którego się wywodzi, stąd ich podobieństwo. :)
Można uznać że tylko tu Pear się pomylił. Co prawda w chińskich słownikach używa się zestawu kilkudziesięciu znaków które określają sposób wymowy słów i znaków, niezależnie od języka ich pochodzenia. I pewnie czegoś podobnego używają do pisania SMS-ów, ale nie stosuje się ich w gazetach tak jak te kilkadziesiąt liter japońskiego Katakana.


Drugi alfabet to Rosyjska cyrylica. Dokładnie 33 znaki plus drugie tyle małych. Aby zrobić z tego pełny zestaw cyrylicy musiałbym dodać kilkanaście znaków które używają inne narody w swoich wersjach tego alfabetu. Praktycznie każdą łacińską literę da się zapisać w takiej rozszerzonej cyrylicy. Część z nich jest zawarta w tym środkowo-europejskim zestawie łacińskich "ogonków". Zresztą znaku E z kropeczkami na górze nie ma w rosyjskich słowach, ale używają go do zapisywania słów obcych. Podobnie jak w polskim Q, V i X.

Trzeci alfabet to Grecki. 24 duże i 25 małych. (bo inne małe "s" się stosuje na końcu wyrazów niż w środku). A zamiast Q mają coś jakby apostrofy, widać potrzebne w ich gramatyce. Tu też łatwo podstawić pod łacińskie znaki, które brzmią tak samo choć wyglądają inaczej.

Kolejny to Hebrajski. I tu czegoś nie rozumiem wszędzie podają że ich alfabet ma 22 znaki a przecież jest ich 27, bo 5 z nich ma dwie formy. Może to coś takiego jak polskie U i Ó. Małych liter nie mają, ani "pisanych samogłosek" - co jeszcze dziwniejsze. Jidysz (który też używa tego alfabetu), do ich zapisu stosuje dodatkowe zestawy kropek i kresek, przez co niektóre znaki stają się samogłoskami. Sprawdźcie w Google, dowolne zdanie przetłumaczone na Hebrajski jest krótsze niż na Jidysz. ;)

A ostatni to Runy. Używane przez Celtów i ludy germańskie od 2go stulecia przez niemal tysiąclecie nim wyparła go łacina. Najstarsze wersje (do dziś używane do wróżenia) miały 24 znaki, a późniejsze zależnie od rejonów od 16 do 31 znaków. Ja tutaj sobie pożyczyłem 2 znaki do C i X z tej późniejszej wersji, by mieć dla wszystkich 26 łacińskich liter. :)


Niemal wszystkie z tych liter mają odpowiedniki w łacińskim alfabecie. A dodatkowe to często dwuznaki jak np niemieckie umlauty zapisywane jako dwie samogłoski razem, albo ruskie SZ które wygląda jak 3 pionowe kreski połączone u podstawy. Jedynie z Katakana się tak nie da bo tam z tych 48 znaków 5 to samogłoski A,I,U,E,O, jedna to N a reszta to sylaby które w dodatku zależnie od sąsiedztwa innych znaków czyta się inaczej, więc nie da się ich przedstawić jednym łacińskim znakiem. :)
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

pear

  • *****
  • Wiadomości: 5509
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: Czcionki i polskie znaki w CPC
« Odpowiedź #16 dnia: 2014.09.03, 13:37:30 »
Z alfabetów "krzaczastych" rozpoznaję tylko koreański, bo jako jedyny ma kółeczka w tych krzakach, a pozostałe są kolczaste :)
ZX/Enterprise/CPC/Robotron/C128D

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Czcionki i polskie znaki w CPC
« Odpowiedź #17 dnia: 2014.09.04, 08:17:10 »
Pear - też  niedawno to zauważyłem gdy się przyglądałem różnym alfabetom. :)

Jak mówiłem tak zrobiłem, dorobiłem Hindi i Arabski. :D Choć nie bez problemów.

Hindi ma 53 znaki (nie rozróżnia się dużych i małych) plus 20 kodów które stuknięte z klawiatury nie przesuwają kursora a zamiast tego dodają do ostatniego znaku jakieś "ogonki". Zapewne tylko niektóre z nich są używane w Hindi, a reszta jest do innych języków, które korzystają z tego samego alfabetu. Zrobiłem tylko 3 z nich które są tak duże jak litera. Nawet bez tych dodatków niektóre litery ledwo się zmieściły w matrycę 8x8. Nie wiem czy jakiś Hindus umiałby takim uszczuplonym zestawem znaków napisać coś tak by inny to odczytał. Ale przypuszczam że tak, i że to by było jak pisanie po polsku bez ogonków. ;)

Arabski ma 30 znaków, (a nie 28 jak pisałem wcześniej) plus naście kodów dodających "ogonki". Znaki mają po 4 lub rzadziej 2 formy. Choć jeśli 4 to po dwie z nich są do siebie bardzo podobne. Ograniczyłem się do końcowych i środkowych jako duże i małe. Końcowych, bo skoro oni piszą od prawej to właśnie końcowe w pisaniu od lewej będą robić za duże. ;) Jest też kilka liter do innych języków posługujących się takim alfabetem i kolejnych kilka ogonków. Długo się w tym nie mogłem połapać i nawet policzyć liter nie umiałem. W zestawie znaków Arabsko-Windowsowym są nawet francuskie litery. No cóż w północnej Afryce oba języki bywają oficjalnymi. Z kolei muzułmanie z krajów bliżej Indii niż Egiptu mają naleciałości językowo literowe też spod Himalajów a nie tylko z Arabii. ;) 

Co gorsza litery w tym języku zmieniają swój kształt zależnie od stykania się z innymi znakami i to jest strasznie dziwne. Za dużo jest tych komplikacji i moje plany przeglądarkowe ograniczę do alfabetów łacińskich i cyrylicy. Odpuszczam sobie też edytorek piszący od prawej do lewej. Około 2/3 liter w obu językach ma odpowiednik w łacinie, a resztę przypisałem niezgodnie z żadnymi normami do wolnych liter. Tak więc te czcionki mają cel jedynie estetyczny i nadają się co najwyżej do Matriksowych wygaszaczy. ;)  Więcej egzotycznych liter tworzyć nie zamierzam. Ale planuję jakoś je ogarnąć tak by w użytecznej i estetycznej formie zaprezentować je na zachodnim forum. ;)  Co zaprezentuję także tutaj. Na razie mam to w dwóch postaciach, 6 pliczków FNT i Basic 8K. I programik który przerabia FNT na BAS. A skoro nikt nie zgłosił zainteresowania to nie będę się śpieszył. :)

PS.: Zapomniałem wcześniej wspomnieć, że Runy są dziś używane przez fanów Tolkiena do zabawy w język Elficki. ;)
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Czcionki i polskie znaki w CPC
« Odpowiedź #18 dnia: 2014.09.11, 08:47:12 »
Zgadywanka. :)  Z jakich komputerów są te czcionki?

Na pierwszym obrazku 6 fontów z 8-bitówek. A na drugim 6 fontów z 16-bitówek, z tym że ostatnie dwa to moja interpretacja pomniejszenia ich do matrycy 8x8, a pozostałe to piksel w piksel jak w ROMach tych maszyn. :)

« Ostatnia zmiana: 2014.09.11, 09:47:05 wysłana przez ZbyniuR »
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

pear

  • *****
  • Wiadomości: 5509
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: Czcionki i polskie znaki w CPC
« Odpowiedź #19 dnia: 2014.09.11, 09:08:54 »
Trzecia z pierwszego obrazka to ZX. Reszcie się aż tak długo nie przyglądałem jak tej jednej. :)
ZX/Enterprise/CPC/Robotron/C128D

UIMP

  • *
  • Wiadomości: 35
  • Miejsce pobytu:
    Ustroń
Odp: Czcionki i polskie znaki w CPC
« Odpowiedź #20 dnia: 2014.09.11, 15:48:24 »
Drugi na drugim obrazku, to font Juniorowy, ale mogę się mylić, bo jest podobny do kilku innych.

pear

  • *****
  • Wiadomości: 5509
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: Czcionki i polskie znaki w CPC
« Odpowiedź #21 dnia: 2014.09.11, 17:36:34 »
Eeeee, była 16-bitowa wersja Juniora ?  :o
ZX/Enterprise/CPC/Robotron/C128D

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Czcionki i polskie znaki w CPC
« Odpowiedź #22 dnia: 2014.09.11, 20:01:23 »
Słabo panowie słabo. Na Atari.org rozpoznano już dwa ze 16 bit, oraz najbardziej znaną im 8bitówkę. ;)

UIMP - nie mam pojęcia jaki jest w Juniorze, myślałem że jest taki jak w Speccy. Czytałem tylko że ma polskie znaki we własnym standardzie, ale jak Pear zauważył to nie 16bitowiec.

No śmiało próbować! - Co prawda trzy fonty z 8bit były w Polsce egzotyczne, ale pozostałe na pewno widzieliście u kolegów albo w popularnych magazynach. A niektórzy tutaj mają te kompy w kolekcji. :)

Jeszcze podpowiem że w 16bit z dwóch najpopularniejszych platform pokazałem po dwie czcionki z różnych generacji tego sprzętu.
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Czcionki i polskie znaki w CPC
« Odpowiedź #23 dnia: 2014.10.23, 05:31:37 »
Dawno nie przynudzałem o fontach. No i nie wyjawiłem (a przynajmniej nie tu) z jakich kompów są te czcionki z obrazków kilka postów wcześniej. Rozwiązanie jest w pliczku "8&16BIT.BAS". Na dysku jest ciut nowsza wersja uruchamiadełka
"0.BAS" - z literkami do wyświetlania plików txt w zachodnich językach: niemiecki, francuski, hiszpański, norweski, szwedzki, holenderski. (planuję dodać portugalski i turecki).
"00.BAS" - to wersja z literkami polskimi i węgierskimi. Na razie tylko te dwa a już zajmują tyle miejsca co te zachodnie razem wzięte. (planuję dodać czeski, słowacki i rumuński). W tej wersji widać też w dolnej linijce funkcje jakie planuję w późniejszych wersjach, które na razie nie działają.
W obu przyspieszyłem wyświetlanie tekstów, dodałem pokazywanie plików z fontami i obrazki z Art-Studia, ale tylko skompresowane i z paletą, na tych bez tego jest na razie zonk. A paseczkiem do wybierania plików można teraz przeskoczyć ze skrajnie górnych i dolnych pozycji na przeciwną stronę. :)

BIG.BAS - pozwala pisać po ekranie kulfonami 16x16 pikseli. Wygląd narodowych ogonków jest zdefiniowany, ale nie ma ich jeszcze na klawiaturze. Uruchamia się w MODE 2, ale można przerwać program (2xESC) i wpisać MODE 1 i cont. Można by to zrobić w 8x16 w 4 kolorach, albo prościej w 2óch. Może kiedyś wykluje się z tego jakiś prosty edytorek. ;)
CALEN.BAS - to angielska wersja kalendarza który był już na dysku z listingami z Bajtka, ale tu z wąską kolorowszą czcionką.
FNT2BAS.BAS - to programik który pomaga zmienić czcionkę z pliku .FNT do takiej dość zwartej postaci Basica.
KEYS.BAS - to programik który zmienia mapę klawiatury np AZERTY na QWERTY, lub odwrotnie. Do wyboru są też gotowe wersje niemieckiego, węgierskiego oraz brytyjska z rozkładem jak na PC co ucieszy emulatorowców. Ta ostatnia ma też na funkcyjnych znaczki do tworzenia tabelek. ;) Wyświetla też aktualną mapę klawiszy, od lewej wciskanych bez niczego, potem ze Shiftem, a z prawej z Ctrl.  Planuję dodać więcej gotowych języków oraz edytor mapy klawiatury. Do samodzielnego dłubania.
RUSSIAN.BAS - To ruski alfabet zastępujący znaki ASCII. Jeśli po pojawieniu się Ready wpiszesz cont, to zmieni kilka znaczków na Białoruski, a ponowne cont, na Ukraiński, co się objawi inną ostatnią literą w Ready. :)

NARROW.BAS - To moje eksperymenty z wąską czcionką 4x8 pikseli. Tu też wpisywanie cont po Ready uwidoczni kolejny bajerek, co widać na obrazkach. Kiedyś o tym pisałem na Trickach, ale widać nie dość jasno bo niedawno mnie o to pytano. No więc po kolei. :)
Aby przełączyć CPC na wyświetlanie wąskiej a jednocześnie 4 kolorowej czcionki wystarczy po komendzie MODE, wpisać POKE w 47043, liczbę o 1 większą niż wpisaliśmy przy MODE. Można też mniejszą, ale wtedy czcionka będzie szersza niż standardowa w danym trybie, ale o tym może innym razem. ;)  Ale to nie wszystko...
Pamiętacie komendę WINDOW ? - podajemy tam lewą i prawą kolumnę tekstu, oraz górną i dolną linijkę trybu tekstowego, w której chcemy mieć dane okienko tekstowe. Przypominam że mamy 8 takich okien od 0-7. A po komendzie MODE wszystkie przybierają maksymalne w danym trybie rozmiary, czyli np po MODE 1  jest to WINDOW 1,40,1,25. Oczywiście drugi parametr może być inny zależnie od ilości znaków dostępnych w linii w danym trybie. A to jest kłopocik bo w trybie 1 Basic nie pozwala by w tej komendzie było tam więcej niż 40, więc po zwężeniu czcionki mamy dostęp tylko do połowy ekranu. Poprawiamy to POKE 46892, i tu prawa kolumna, ale inaczej niż w WINDOW tu liczona od 0 a nie od 1.
Czyli podsumowując:
MODE 1:POKE 47043,2:POKE 46892,79 - i mamy 80 znaków w 4 kolorach, albo:
MODE 0:POKE 47043,1:POKE 46892,39 - i mamy 40 znaków w 16 kolorowym trybie z czcionką w 4 kolorach.
Niestety oryginalna czcionka po tych "pokach" jest nieczytelna i trzeba sobie przygotować lepszą. I zaraz o tym, ale wpierw dodam że aby zdefiniować okno inne niż 0 trzeba dodać jego nr. np.: WINDOW#3,1,40,24,25. Podobnie trzeba dopisywać do PRINT, PEN, PAPER i CLS jeśli chcemy by dotyczyło to okna innego niż 0. A ten drugi POKE do okna #1 jest pod adresem o 14 większym niż z okna #0. I o kolejne 14 bajtów do każdego następnego okna. Komenda MODE kasuje nam te "poki" więc o ile nie jest to naszym celem, to aby ich ponownie nie wpisywać do kasowania ekranu lepiej używać CLS.
I jeszcze dodam że 1szy z tych POKE zniekształca linie rysowane przez DRAW itp komendy więc, przed ich użyciem wpisujemy tam nr zgodny z ostatnio użytym MODE, a żeby znowu pisać wąską czcionką przywracamy tam o 1 większą. :)

Teraz o czcionce. - Najpierw jak wczytać sobie gotowego fonta. Trzeba zacząć od komendy SYMBOL AFTER. Jedynym  parametrem jest nr kodu ASCII od którego w górę potrzebujemy dostępu do zmieniania wyglądu znaków. Ta komenda rezerwuje pamięć RAM przesuwając odpowiednio ruchomy adres HIMEM i kopiuje tam wygląd tych znaków z ROM, więc jakby co można nią przywracać standardowy wygląd. Domyślnie po resecie jest ustawione 240, co oznacza że ostatnie 16 znaków są wyświetlane wg tego jak wyglądają w RAM a nie w ROM. By zmienić standardowego fonta wpisujemy SYMBOL AFTER 32:h=HIMEM+1:LOAD"nazwa.fnt",h    A po tym, Ready już się powinien wyświetlić w nowej czcionce. :)  Nie próbujcie wpisywać LOAD"nazwa.fnt",himem+1  bo choć za pierwszym razem to zadziała to HIMEM się obniży o 4KB i ponowne użycie takiej linijki wczyta nam fonta niżej niż to potrzebne, więc font się nie zmieni, a po kilku takich próbach komputer reaguje już tylko komunikatem że brak mu pamięci. Nie wiem czemu, bo powinno działać, to chyba błąd w ROMie.

Jeśli zamierzamy oprócz fonta wczytywać także inne pliki binarne, (np. RSX-y albo obrazki na dolny ekran a nie ten standardowy), to można obniżyć HIMEM komendą MEMORY po wczytaniu fonta, którego obszar zostanie wyżej, ale wtedy nie mamy możliwości użycia komendy SYMBOL AFTER ponownie (wyświetla błąd). Bardziej elegancko jest wpierw wyłączyć możliwość definiowania znaków SYMBOL AFTER 256 <- to nie jest błąd. Potem obniżyć HIMEM np przez MEMORY &3FFF  a potem SYMBOL AFTER 32  co obniży też HIMEM o 224 znaki razy 8 bajtów dla każdego czyli o 1792. To pozwoli nadal używać komendę SYM..AFT.. a jeśli parametrem będzie 256 to na ponowne przestawienie MEMORY. Co się przyda np by uruchamiać bez resetu inne programy które organizują sobie pamięć po swojemu. Można też dodać w 1ej linijce IF-a który sprawdzi czy już przestawiono HIMEM albo PEEK czy już coś wczytywał, by się niepotrzebnie nie wykonywały za każdym razem jak przerwiemy program by w nim podłubać i ponownie go uruchomimy. :)


No dobra, a teraz jak przygotować wąskiego fonta. - Normalnie matryca znaków ma 8x8 pikseli. Jednak gładki jednokolorowy font do 80 znaków w 4-ro-kolorowym MODE 1 rysujemy go w prawej połówce. Dowolnym edytorem, a jest tego pełno, bo to chyba najczęściej pisany program przez początkujących programistów na CPC, ale jeszcze nie spotkałem takiego co pozwala tworzyć wąskie kolorowe fonty. Trzeba będzie kiedyś taki napisać, póki co używam tego w Art-Studio. Efekt będzie taki jak na obrazku z czarnymi literkami, font ma kolor 2, ale kolor kursora to 3. Co jest dość dziwne i fajne zarazem. :)  Jednak font narysowany tylko na jednej połówce nie pozwala korzystać ze wszystkich kombinacji po 4 różne PEN i PAPER. A jedynie takie jak widać na górze obrazka w tej kolorowej linijce z pytaniami pod czarnym fontem. Czyli inwers dzięki chr$(24) lub Ctrl+X oraz dzięki zmianie koloru tła za pomocą POKE. Inne kombinacje oznaczają pen i paper w takim samym kolorze czyli bez sensu. Ale wystarczy w lewej połówce matrycy zrobić kopię co do piksela, tego co narysowaliśmy po prawej. Tworząc taką podwójną literkę w każdym znaku. I mamy do dyspozycji gładki font który za pomocą POKE może mieć dowolny z 4ech kolorów i tak samo z tłem. Czyli nie licząc tych niewidocznych (np czarny na czarnym), mamy 12 różnych kombinacji, a nie 3 jak w matrycy w połowie pustej. Ale z fontem z podwójnymi literkami kursor zawsze ma taki sam kolor jak font którym w danej chwili piszemy. Co jest mniej cool.  ::)

Teraz o kolorach. - Po wpisaniu tego pierwszego POKE na wąską czcionkę komputer "myśli" że wyświetla znaki w MODE 2, więc PEN 1 i PEN 3 to jest ten sam kolor. Ale można to zmienić POKE 46895 dla koloru pisaka, a następny bajt to kolor tła. (Dla kolejnych okien są to adresy o 14 większe dla każdego następnego okna).  Z tym że nie wpisujemy tam nr koloru tylko maskę, które kolumny matrycy znaku mają być wyświetlane. I tak by literki miały kolor 1 wpisujemy tam 240, ponieważ binarnie to &x11110000. Dla koloru 2 wpisać 15, a dla 3 to 255. Zero jak się domyślacie to 0. :)  Z tłem jest tak samo, a inne wartości dają pionowe paski. Nie polecam tego w tle bo będzie nieczytelnie, ale pisak może wyglądać tak jak w przykładzie na obrazku - te literki na czarnym tle. Co ciekawe kursor przybiera takie same kolorowe pionowe paski jak maska pisaka. :)
Pewnie się domyślacie że font kolorowy jak np ten z cieniem, tworzy różnica między prawą a lewą połówką matrycy. najlepiej go wyświetlać z penem 255 i tłem 0, lub w inversie. A pen wpisany POKiem jako 240 da gładki font bez cienia (kolor z górnej części litery), podobnie jak pen 255 ale z tłem 15 (kolor dolnej części litery na tle koloru cienia). Inne kombinacje dają albo mniej czytelne kombinacje kolorów, albo kompletnie nieczytelne kształty. Można też tak przygotować fonta by różne znaki miały różne kolory lub zestawy poziomych pasków albo piksele antyaliasingu w innym kolorze niż podstawowy na ostrych kątach. Choć osobiście nie jestem fanem tego ostatniego pomysłu. I to tyle o 80 w MODE 1. :)


Teraz o tym czym się różni font 40 w MODE 0 od tego poprzedniego. - Tym razem patrzymy na ten kolorowszy obrazek. Tym razem czcionkę rysujemy w środkowych czterech kolumnach czyli w 00111100. A dwie lewe kolumny matrycy to kopia (w przypadku jednokolorowego fonta), lewej połówki litery, a dwie prawe kolumny matrycy to kopia prawej połowy litery. Z tym że pierwszy składowy bit ostatecznego koloru w docelowej matrycy 4x8 w 4 kolorach, jest w jedynkach wg wzoru 11001100, a drugi składowy to zera. Innymi słowy w obu wersjach fonta do 80 i do 40 znakowego trybu bity 11000011 są identyczne, a pary kolumn 1 i 2 wg wzoru 00112200 muszą być zamienione miejscami. Można przerobić jeden font w drugi dokonując na każdym bajcie fonta:
b=PEEK(a):POKE a,(b AND 195)+(b AND 48)/4+(b AND 12)*4
Font z Art-Studia zawierający znaki od 32 do 127, zajmuje 768 bajtów. A pod jaki adres go wczytacie to już sami wiecie.
Jeszcze trochę o kolorach. Po tym jak po MODE 0 wpisaliśmy POKE na wąskie literki, CPC "myśli" że wyświetla je w MODE 1 więc dostępne jest przełączanie kolorów PEN i PAPER od 0 do 3. A kolejne czyli 4 i 5 itd. będzie wyświetlał jako 0 i 1 itd. Stąd słowa w  "Shadow text !!!" mają 3 różne kolory, a właściwie to 3 zestawy 3ech kolorów. ;)
Wracając do gładkiej czcionki w 1 kolorku. Jak widać na obrazku można użyć wszelkich kombinacji 16 kolorów pisaka i tła. Wpisując pod te same POKE 46895 i 46896 jako PEN i PAPER. Tu również wpisujemy maskę a nie kolor. Aby uzyskać kolory od 0 do 15, będą to wartości po kolei: 0, 192, 12, 204, 48, 240, 60, 252, 3, 195, 15, 207, 51, 243, 63, 255. jak komuś się tego nie chce przepisywać to ma gotowca w DATA w linii 50 w NARROW.BAS. Inne wartości dają kombinacje pionowych kolorowych pasków, co zwykle nie jest czytelne. Jeszcze słowo o dobraniu palety. W przypadku fonta 4 kolorowego i użycia PEN 1, litery się składają z kolorów o numerach 1,4 i 5, w PEN 2 to będą 2,8 i 10, a w PEN 3 to 3,12 i 15. Więc wypadałoby nadać im jakieś sensowne komponujące się ze sobą kolorki, zależnie od wizji artysty. ;)
A jeśli czyta to jakiś początkujący Amstradowiec, a dotąd Spectrumowiec lub inny owiec. - INK w CPC nie służy do zmiany koloru pisaka tylko do zdefiniowania palety, a pisak się zmienia komendą PEN. W INK podaje się 2 parametry, 1szy to numer buteleczki na farbę od 0 do 15, a 2gi to nr farby od 0 do 26. A potem w PEN i PAPER podajemy nr buteleczki. A jaki w niej jest kolor zdecydował INK. Można też w INK podać 3ci parametr od 0 do 26. Wtedy w buteleczce są dwa kolory i sobie mrugają. :D


No i to tyle mojego dzisiejszego przynudzania. Teraz już chyba wszystko jasne. Dodaję kilka obrazków i oczywiście DSK. Na którym są wszystkie fonty jakie w tym wątku wcześniej pokazywałem na obrazkach. Zarówno te z innych komputerów jak i te z egzotycznymi oraz wąskimi alfabetami. Łatwo je pooglądać za pomocą 0.BAS. W trakcie gdy się wyświetlają można przerwać program (2xESC) i poklikać sobie danym fontem. Zobaczyć jak w nim wygląda listing (Ctrl+TAB), albo katalog dyskietki (Shift+TAB). A samo TAB uruchamia program od nowa, przywracając standardową czcionkę. :)  Inne BAS-y niż opisane powyżej to albo pliki które już na innych wątkach były na DSK albo jakieś niedokończone śmieci. nie chciało mi się ich posprzątać przed publikacją, jeszcze by mi je wcięło bezpowrotnie. ;)  Pytania i komentarze mile widziane. A jak nie będą pozytywne to wyślę pocztą wąglika.  ;D
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Czcionki i polskie znaki w CPC
« Odpowiedź #24 dnia: 2014.10.28, 17:28:29 »
Widzę że prawie nikt nie dotarł do DSK, więc rozwiązanie w jasnej postaci. :)

1. Apple II
2. MSX
3. ZX Spectrum
4. Atari XL/XE
5. Commodore 64
6. BBC Micro


1. Atari ST
2. Amiga (KS.1.3)
3. Amiga (KS.2.0/3.0)
4. PC z CGA
5. PC z VGA *
6. Mackintosh *

* Dwa ostatnie w oryginalne mają większą rozdzielczość czcionki niż 8x8, więc jest to moja interpretacja jak by wyglądały ograniczone do takiej.
A pozostałe są piksel w piksel jak w oryginałach. :)

Żródła:
http://damieng.com/blog/2011/02/20/typography-in-8-bits-system-fonts
http://damieng.com/blog/2011/03/27/typography-in-16-bits-system-fonts
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Czcionki i polskie znaki w CPC
« Odpowiedź #25 dnia: 2015.03.04, 22:55:57 »
Ostatnio Dr Piotr zauważył że moja metoda użycia wąskich czcionek działa tylko na 6128. Więc czas na lepszy sposób który działa na każdym CPC. :)

Pisałem że:
MODE 1: POKE 47043,2: POKE 46892,79 - i mamy 80 znaków w 4 kolorach, albo:
MODE 0: POKE 47043,1: POKE 46892,39 - i mamy 40 znaków w 16 kolorowym trybie z czcionką w 4 kolorach.
I ten sposób działa tylko na 6128...

A na wszystkich CPC działa to:
MODE 2:CALL &bd1c,1 - daje 80 znaków w MODE 1
MODE 1:CALL &bd1c - daje 40 znaków w MODE 0.

* Brak parametru po CALL to nie błąd, bo parametrem jest ilość parametrów a nie ich wartość, czyli brak parametrów znaczy 0 a dwa i to dowolne parametry np CALL &BD1C,20,88  zmieni wyświetlanie na MODE 2.
Gdyby ktoś chciał to zrobić w kodzie maszynowym to ten CALL trzeba poprzedzić wrzuceniem parametru z żądanym trybem do rejestru [A]. Amstradowy Basic wrzuca tam ilość parametrów po CALL. Dziwne ale skuteczne. :)


Teraz jeszcze zmiana kolorków PEN i PAPER w tej wąskiej czcionce. Pisałem że robi to POKE 46895 dla PEN i 46896 dla PAPER. Co działa na 6128 i na 664.

Ale w 464 tym adresem do zmiany kolorków są 45711 i 45712. :)  Przypominam że wpisujemy tam nie nr koloru ale maskę co opisałem 2 posty wyżej. ;)

« Ostatnia zmiana: 2015.03.04, 23:14:10 wysłana przez ZbyniuR »
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Czcionki i polskie znaki w CPC
« Odpowiedź #26 dnia: 2015.03.11, 23:56:38 »
Trzeci, czwarty, piąty i drugi na drugim obrazku "sie zna". Pierwszy lub drugi powiedziałbym że to SAM, ale rzeczywiście Apple był dużo wcześniej. Pasowałby do tego standardowy zestaw z gier arcade do roku około 1984 (Pac-Man, Galaxian) - wtedy prawie wszystkie miały te same litery. Zastanawiam się jaki jest oryginalny font (o ile jest) w klasycznych konsolach np. NES, GB, PCE, starsze SEGA.

Różne alfabety to super sprawa, gdy ktoś tworzy grę z akcją osadzoną w pewnych realiach, np. Dizzy in Valhalla, Bolek i Lolek jadą do Tokio, Jihad 2025...  ;)
AY Music, ULA plus.

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Czcionki i polskie znaki w CPC
« Odpowiedź #27 dnia: 2015.03.12, 02:56:21 »
Też się zastanawiałem nad fontem z NESa. Niedawno znalazłem takie coś:
https://www.behance.net/gallery/22965951/Fami-Variety-NES-Fonts
Podobno drugi obrazek z góry ten niebieski, to jego standardowy font. Ale na obrazkach z gier zwykle widać same duże litery, więc nie mam pewności.
Myślałem że w Samie jest taki jak w Speccu ale też nie wiem. Nie wiem co to jest PCE. :o

A jak chcesz więcej tematycznych to na Ataroskich stronach jest pełno Ataroskich i Commodoroskich. Przed ściągnięciem można je obejrzeć na obrazkach. Sporo z nich jest z gier albo tematyczne np dziki zachód, gotyk itp.
http://atarionline.pl/v01/index.php?subaction=showfull&id=1236639234&archive=&start_from=&ucat=7&ct=poczatki
http://atarionline.pl/v01//index.php?subaction=showfull&id=1242399102&archive=&start_from=0&ucat=7&ct=poczatki

Nie wiem do jakiego kompa je potrzebujesz, ale zwyczajowo pliczek z fontem zawiera znaki w nieco innej kolejności (tzn linijki po 32 znaki w każdej), zależnie od tego z jakiego kompa pochodzi:
w CPC i ZX:    cyfry,    DUŻE,    małe,    kwadraty     // dalej tylko w CPC> ramki, greka, ukośniki, obrazki, strzałki.
w XL/XE:       cyfry,    DUŻE,    ramki,    małe.    // dalej jeśli plik ma ponad 1KB to i tak kopia w inversie.
w C64:          małe,    cyfry,    DUŻE,   ramki.
C64   upper:   DUŻE,    cyfry,      paski,    ramki.  //  W niektórych wersjach językowych ten alternatywny zestaw ma znaki narodowe już w ROMie.

Zwykle te pliczki mają po 1024 bajty w tym 4 porcje po 32 znaki czyli po 256 bajtów, które czasem trzeba sobie przestawić zależnie od maszyny z jakiej i do jakiej bierzemy. To i tak łatwiejsze niż pikselowanie od zera. :)
Choć Art Studio przynajmniej to w CPC nagrywa w pliku z fontem tylko 96 znaki a nie 128.

Jeśli chodzi o narodowe znaczki to w CPC można sobie przypisać dowolny znak do dowolnego klawisza, ale w pozostałych po prostu muszą być we właściwym miejscu w pamięci by były pod konkretnymi klawiszami. :)

« Ostatnia zmiana: 2015.03.12, 03:02:50 wysłana przez ZbyniuR »
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Czcionki i polskie znaki w CPC
« Odpowiedź #28 dnia: 2015.03.12, 05:19:45 »
PCE = PC Engine, inaczej Turbografx 16, dość znana konsola.

W załączniku zestaw znaków ze SAM'a, ale gdzie znajduje się w ROM, to tego nie wiem.

Ja z kolei miałem i prawdopodobnie jeszcze gdzieś mam kasetę na ZX z fontami z CPC, Juniora, C64 i różnymi z gier. Może ją znajdę.

AY Music, ULA plus.

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Czcionki i polskie znaki w CPC
« Odpowiedź #29 dnia: 2015.03.12, 08:01:21 »
Zgrabna ta czcionka ze Sama. Dzięki, także za przypomnienie tej konsoli bo przegapiłem ją jak robiłem zestawienie najlepiej sprzedających się platform. :)
Chcesz ją do pliku zapisać?  Podeślij mi ROMa to znajdę. Wystarczy napisać programik by zapełniał pamięć ekranu bajtami tego roma, ale by kolejne bajty umieszczał kolumnami a nie linijkami, to się go zauważy. :)
« Ostatnia zmiana: 2015.03.12, 08:10:33 wysłana przez ZbyniuR »
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)