1 Ostatnio edytowany przez mono (2009-04-11 11:20:20)

Czy są jakieś formaty fontów wektorowych dla atari xl/xe? Czy to da się wykorzystać czy trzeba sobie samemu przetworzyć? A może coś z większych maszyn da się używać (może jakieś tex'owe formaty są wystarczająco strawne)?
Chciałem się zabawić w malowanie wektorowych fontów w xl/xe hires więc pierwszym kryterium byłaby taka postać, żeby można było to łatwo wymalować. Drugim kryterium jest dostępność takich fontów (albo łatwość konwersji np. z ttf, opentype, czy tex'a).

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

2

Wiesz co, "ja się co prawda na tym nie znam, ale mam na ten temat własne zdanie" (tm) Miałem okazję oglądać, jak z renderingiem TTF-ów radzi sobie Falcon030. No więc wychodzi mu to nieźle tylko dlatego, że raz zrenderowane znaki przechowuje w cache'u o wielkości kilkuset KB (OIDP), a póki mu sie ten bufor nie zapełni potrzebnymi znakami, wygląda to raczej blado.

KMK
? HEX$(6670358)

3

nie kojarze zadnego konkretnego specjalizowanego dla "malucha" formatu - ale jak juz chcesz - poczytaj o "bgi fonts". troche gotowych dostaniesz, rysuje sie je dosc prosto (format prosty, kupe kodow gotowych do tego w jakichs paszczalach - latwo zczaic algorytmy).
problemem moze byc to ze format ten ma dosc duze ograniczenia

o ttf/opentype zapomnij... lepiej sie interesuj bitmapowymi, albo jakimis prostymi jak np. powyzej wspomniane

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

4

Wielkie dzięki.
A czy w jakichś XLEnt processorach nie było wektorowych czcionek? Kilka programów do dtp było zdaje się na małe A (jakiś "print shop" czy coś  takiego)...

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

5

Print Shop miał bitmapowe czcionki, jeno duże i proporcjonalne. Był jeszcze SprintXL, co to używał fontów z programu Signum z ST, też bitmapowych zdaje się, tyle że skalowalnych, bo (ale tu się mogę mylić bardzo) przygotowanych od razu w paru rozmiarach.

KMK
? HEX$(6670358)

6

a co z programami do skladu na tt? oczywiscie moge bredzic

przechodze na tumiwisizm

7 Ostatnio edytowany przez drac030 (2009-04-11 13:20:12)

Calamus ma wektorowe fonty (CFN), fakt. A Calamus 1.09N chodzi na zwykłym ST, więc to się musi w miarę łatwo renderować. I tych fontów jest cała masa, swego czasu Corel się chował.

PS. Tylko że chyba jest cienko z opisem formatu. Znalazłem tyle, że są na "b-spline'ach". A Signum ma fonty bitmapowe, trzeba poprawić info w Atariki...

KMK
? HEX$(6670358)

8 Ostatnio edytowany przez mono (2009-04-11 19:55:34)

Specyfikacja .CHR jest tutaj http://www.wotsit.org/download.asp?f=ch … =292772430 ,
a przykładowy font z Borlanda tutaj http://digilander.libero.it/pnavato/zip/lcdfonts.zip .

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

9

No najs, ale jak zobaczyć, jak on wygląda?

KMK
? HEX$(6670358)

10

Bardzo prosto.
Ściągnąć (wymagana java5 i środowisko graficzne) http://mono.i-demo.pl/chrdraw.jar i odpalić na pc za pomocą:
$ java -jar chrdraw.jar plik.chr tekst
W tym wypadku tekst powinien być "0123456789", bo font definiuje tylko cyfry.

Niewykluczone, że w formacie jest zapisany indeks defaultowego glypha, którego należy użyć gdy rysowany znak nie jest zdefiniowany w foncie (może jest np. na pozycji $8f lub $83).

A właśnie - czy ktoś wie co to może być "DO SCAN" (jest też jakaś flaga "scan flag" na pozycji $87)? Aktualnie ignoruję ten opcode podczas rysowania.
Żródła programiku (gdyby ktoś chciał) są w http://mono.i-demo.pl/chrdraw-src.zip .

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

11

mono napisał/a:

wymagana java5

Heh... to ja poczekam, aż coś będzie działało na atarce :)

KMK
? HEX$(6670358)

12

Poniżej shoty z działania programiku. Wersja na atari się będzie robić.

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw.jar LCDL.CHR 0123456789
Font type: LCD
Font name:
Internal font name: LCDL
Description: Large Font v1 - Jul 22, 1994   
Copyright 1994 Pino Navato                   

Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: 0
Origin to top of capital distance: 32
Character range: 0(30)..9(39)
http://mono.i-demo.pl/lcdl.png

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw.jar LCDN.CHR 0123456789
Font type: LCD
Font name:
Internal font name: LCDN
Description: Narrow Font v1 - Jul 22, 1994   
Copyright 1994 Pino Navato                   

Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: 0
Origin to top of capital distance: 20
Character range: 0(30)..9(39)
http://mono.i-demo.pl/lcdn.png

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw.jar LCLE.CHR 0123456789
Font type: LCd
Font name:
Internal font name: LCLE
Description: Large Font with empty segments v1 - Jul 22, 1994
Copyright 1994 Pino Navato   

Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: 0
Origin to top of capital distance: 32
Character range: 0(30)..9(39)
http://mono.i-demo.pl/lcle.png

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw.jar LCNE.CHR 0123456789
Font type: LCD
Font name:
Internal font name: LCNE
Description: Narrow Font with empty segments v1 - Jul 22, 1994
Copyright 1994 Pino Navato 

Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: 0
Origin to top of capital distance: 20
Character range: 0(30)..9(39)
http://mono.i-demo.pl/lcne.png

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

13

link do specyfikacji slicznie kwiczy "not found"

btw. ten kod javowy to twoj? pytam - bo ladny ;)

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

14 Ostatnio edytowany przez epi (2009-04-11 19:56:15)

E tam, eclipse sam generuje kod, wystarczy poklikać tu i ówdzie. ;>

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

15 Ostatnio edytowany przez mono (2009-04-11 20:07:13)

Dziwnie działa wotsit.org. Zaktualizowałem linka w poście, ale nie wiem, czy za jakiś czas znów nie przestanie działać. Można po prostu wejść na http://www.wotsit.org i poszukać "chr". Wsadziłem też dokument tutaj: http://mono.i-demo.pl/chr.txt (a borlandowe lcdfonts tutaj http://mono.i-demo.pl/lcdfonts.zip ).
A kod? Cóż - kod, jaki jest każdy widzi :) Mój ci on. Dziękuję, aczkolwiek niezasłużenie, bo projekt choć mały to też mógłby być ładniej napisany.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

16

dorzucę swoje 3 grosze. Jeżeli komuś by przyszło do głowy edytować fonty w .chr przy pomocy borlandowskiego edytora który dołączali do którejś dystrybucji pascala, lepiej niech od razu wybije to sobie z głowy: program jest fatalny i ma bugi.

17

no jest jakis easyfont jest czy cos tam - do przerabiania bitmapowych. ponoc bardzo przyjemny w uzyciu...

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

18 Ostatnio edytowany przez mono (2009-04-13 00:39:09)

Programik dla atari można pobrać z http://mono.i-demo.pl/chrdraw.atr .
Odpala się to za pomocą CHRDRAW.COM - program sam zaczytuje sobie plik FONT.CHR, więc zmieniając nazwę/kopiując którąś czcionkę w miejsce tegoż pliku można sprawdzić jak się toto wyświetla.
Poniżej kolejne shoty.

LCDL.CHR
http://mono.i-demo.pl/a8lcdl.png

LCDN.CHR
http://mono.i-demo.pl/a8lcdn.png

LCLE.CHR
http://mono.i-demo.pl/a8lcle.png

LCNE.CHR
http://mono.i-demo.pl/a8lcne.png

Źródło dostępne jest w http://mono.i-demo.pl/chrdraw.asx (i include z io z http://mono.i-demo.pl/atari.asm ).
Program jest bardzo prosty i nie sprawdza różnych warunków a tym bardziej czy plik .CHR to faktycznie plik z czcionką.
Kompilacja za pomocą mads 1.8.4.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

19 Ostatnio edytowany przez mono (2009-04-13 10:54:10)

Sprawdziłem fonty z tp7 borlanda (http://mono.i-demo.pl/tp7bgi.zip ).
W programiku java (http://mono.i-demo.pl/chrdraw2.jar ) uwzględniłem parametr "origin to bottom" i jego znak (jest jeszcze "origin to baseline", ale we wszystkich dotychczasowych fontach jest ustawiony na 0 - obecnie nie uwzględniam go, bo nie wiem nawet czy ma znak czy nie). W programiku atari (http://mono.i-demo.pl/chrdraw2.atr ) dałem 20k bufor na font.
Poniżej zrzuty ekranu z pc i atari.

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw2.jar BGI/BOLD.CHR 01234ajlmW
Font type: BGI
Font name:
Internal font name: BOLD
Description: Stroked Font V1.1 - Jun 5, 1989
Copyright (c) 1987,1988 Borland International

Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: -7
Origin to top of capital distance: 53
Character range:  (20)..?(ff)
http://mono.i-demo.pl/bold.png
http://mono.i-demo.pl/a8bold.png

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw2.jar BGI/EURO.CHR 01234ajlmW
Font type: BGI
Font name:
Internal font name: EURO
Description: Stroked Font V1.1 - May 17, 1989
Copyright (c) 1987,1988 Borland International

Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: -10
Origin to top of capital distance: 45
Character range:  (20)..?(fe)
http://mono.i-demo.pl/euro.png
http://mono.i-demo.pl/a8euro.png

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw2.jar BGI/GOTH.CHR 01234ajlmW
Font type: BGI
Font name:
Internal font name: GOTH
Description: Stroked Font V1.1 - Jun 5, 1989
Copyright (c) 1987,1988 Borland International

Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: -7
Origin to top of capital distance: 25
Character range:  (20)..?(fe)
http://mono.i-demo.pl/goth.png
http://mono.i-demo.pl/a8goth.png

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw2.jar BGI/LCOM.CHR 01234ajlmW
Font type: BGI
Font name:
Internal font name: LCOM
Description: Stroked Font V1.1 - Jun 5, 1989
Copyright (c) 1987,1988 Borland International

Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: -7
Origin to top of capital distance: 28
Character range:  (20)..?(fe)
http://mono.i-demo.pl/lcom.png
http://mono.i-demo.pl/a8lcom.png

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw2.jar BGI/LITT.CHR 01234ajlmW
Font type: BGI
Font name:
Internal font name: LITT
Description: Stroked Font V1.1 - Jun 5, 1989
Copyright (c) 1987,1988 Borland International

Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: -2
Origin to top of capital distance: 7
Character range:  (20)..?(fe)
http://mono.i-demo.pl/litt.png
http://mono.i-demo.pl/a8litt.png

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw2.jar BGI/SANS.CHR 01234ajlmW
Font type: BGI
Font name:
Internal font name: SANS
Description: Stroked Font V1.1 - Jun 5, 1989
Copyright (c) 1987,1988 Borland International

Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: -7
Origin to top of capital distance: 25
Character range: (01)..?(fe)
http://mono.i-demo.pl/sans.png
http://mono.i-demo.pl/a8sans.png

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw2.jar BGI/SCRI.CHR 01234ajlmW
Font type: BGI
Font name:
Internal font name: SCRI
Description: Stroked Font V1.1 - Jun 5, 1989
Copyright (c) 1987,1988 Borland International

Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: -12
Origin to top of capital distance: 25
Character range:  (20)..?(fe)
http://mono.i-demo.pl/scri.png
http://mono.i-demo.pl/a8scri.png

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw2.jar BGI/SIMP.CHR 01234ajlmW
Font type: BGI
Font name:
Internal font name: SIMP
Description: Stroked Font V1.1 - Jun 5, 1989
Copyright (c) 1987,1988 Borland International

Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: -7
Origin to top of capital distance: 28
Character range:  (20)..?(fe)
http://mono.i-demo.pl/simp.png
http://mono.i-demo.pl/a8simp.png

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw2.jar BGI/TRIP.CHR 01234ajlmW
Font type: BGI
Font name:
Internal font name: TRIP
Description: Stroked Font V1.1 - Jun 5, 1989
Copyright (c) 1987,1988 Borland International

Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: -7
Origin to top of capital distance: 24
Character range:  (20)..?(fe)
http://mono.i-demo.pl/trip.png
http://mono.i-demo.pl/a8trip.png

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw2.jar BGI/TSCR.CHR 01234ajlmW
Font type: BGI
Font name: 
Internal font name: TSCR
Description: Stroked Font V1.1 - Aug 3, 1989
Copyright (c) 1987,1988 Borland International

Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: -7
Origin to top of capital distance: 24
Character range:  (20)..?(fe)
http://mono.i-demo.pl/tscr.png
http://mono.i-demo.pl/a8tscr.png

Źródła są w http://mono.i-demo.pl/chrdraw2-src.zip (java) oraz w http://mono.i-demo.pl/chrdraw2.asx (atari).

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

20 Ostatnio edytowany przez drac030 (2009-04-13 11:27:34)

Fajne, fajne... zaraz obejrzym i skrytykujem ;)

EDIT: nie no, luksus, teraz tylko zrobić z tego biblioteczkę do wkompilowania do własnego programu i można działać.

KMK
? HEX$(6670358)

21 Ostatnio edytowany przez mono (2009-04-13 13:01:14)

Poprawka w programie java (http://mono.i-demo.pl/chrdraw3.jar ) dla fontów konwertowanych Easy Fonts 3.0 (wersja Win - http://digilander.libero.it/pnavato/EasyFonts ) - definicja jednego glypha może być teraz wykorzystana dla wielu znaków. Poza tym konwerter nie podaje typu fonta, a traktuje to pole, od razu jako opis (który jest zaraz za nim) dzięki czemu pełna nazwa czcionki umieszczona w opisie jest rozcięta na dwa pola np. "Comi" i "c Sans MS...". Easy Fonts w wersji niezazrejestrowanej wygenerował mi tylko kilkanaście znaków z fonta ttf. Poniżej parę przykładowych czcionek z Win (http://mono.i-demo.pl/winfonts.zip ) - wszystkie normal w rozmiarze 20:

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw3.jar WIN/COMS.CHR 01234ajlmW
Font type: Comi
Font name:
Internal font name: COMS
Description: c Sans MS
* Easy Fonts v3.0 for Windows - UNREGISTERED *
                                               
Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: -8
Origin to top of capital distance: 21
Character range:  (20)..n(6e)
http://mono.i-demo.pl/coms.png
http://mono.i-demo.pl/a8coms.png

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw3.jar WIN/CRRN.CHR 01234ajlmW
Font type: Cour
Font name:
Internal font name: CRRN
Description: ier New
* Easy Fonts v3.0 for Windows - UNREGISTERED *
                                                 
Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: -5
Origin to top of capital distance: 17
Character range:  (20)..n(6e)
http://mono.i-demo.pl/crrn.png
http://mono.i-demo.pl/a8crrn.png

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw3.jar WIN/LUCI.CHR 01234ajlmW
Font type: Luci
Font name:
Internal font name: LUCI
Description: da Console
* Easy Fonts v3.0 for Windows - UNREGISTERED *
                                             
Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: -5
Origin to top of capital distance: 20
Character range:  (20)..n(6e)
http://mono.i-demo.pl/luci.png
http://mono.i-demo.pl/a8luci.png

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw3.jar WIN/SYMB.CHR 01234ajlmW
Font type: Symb
Font name:
Internal font name: SYMB
Description: ol
* Easy Fonts v3.0 for Windows - UNREGISTERED *
                                                     
Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: -6
Origin to top of capital distance: 17
Character range:  (20)..n(6e)
http://mono.i-demo.pl/symb.png
http://mono.i-demo.pl/a8symb.png

jerzyk@ox:~/workspace/chrdraw$ java -jar chrdraw3.jar WIN/TMNR.CHR 01234ajlmW
Font type: Time
Font name:
Internal font name: TMNR
Description: s New Roman
* Easy Fonts v3.0 for Windows - UNREGISTERED *
                                             
Driver version: 1.0
Scan flag: 0
Signature: +
Origin to baseline distance: 0
Origin to bottom descender distance: -6
Origin to top of capital distance: 18
Character range:  (20)..n(6e)
http://mono.i-demo.pl/tmnr.png
http://mono.i-demo.pl/a8tmnr.png

Źródła dla programu (java) są tutaj: http://mono.i-demo.pl/chrdraw3-src.zip . Program dla atari się nie zmienił, ale nowa dyskietka jest tutaj http://mono.i-demo.pl/chrdraw3.atr .

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

22

efekt jest rewelacyjny! kto by pomyslal :)

http://atari.pl/hsc/ad.php?i=1.

23

Niby tak, ale na razie to jest font nieskalowany. A ponieważ jest to stroked font to po skalowaniu zobaczymy pewnie z jakich linii tak naprawdę się to wszystko składa :(. Stroked nie jest wypełniany, jak normalny font wektorowy. Można przy skalowaniu spróbować malować pędzlem kilkupikselowym (a nie jedno-, jak teraz). Inna rzecz, to niestety rozmiar fontu :(. Te z borlanda mają nawet 20 kb; z tablicami dla ekranu i kodem (1kb) to nam zajmuje całą pamięć :(. Ale to chyba cecha stroków - im ma być dokładniejszy tym będzie większy, bo mamy do dyspozycji tylko przesunięcia i proste drawto.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

24

Bardzo fajny efekt.

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

25

Dorobiłem skalowanie czcionek.
Sposób wywołania aplikacji java (http://mono.i-demo.pl/chrdraw4.jar ):
$ java -jar chrdraw4.jar font skala tekst
skala domyślnie 1, tekst domyślnie "Quick brown fox jumps over lazy dog."
Aplikacja na atari (http://mono.i-demo.pl/chrdraw4.atr ) ma ustawiony współczynnik skalowania na 2.0 (współczynnik można ustawiać w źródle w formacie fxp8.8).
Przy okazji okazało się jak działa "Easy fonts" - bardzo prymitywny, a goście za to chcą 90EUR ech.
Widać też jak są skonstruowane pozostałe fonty (borlandowe i lcd).
Niżej parę screenshotów z atari.

Comic Sans MS:
http://mono.i-demo.pl/a8coms2.png

Gothic:
http://mono.i-demo.pl/a8goth2.png

LCDL:
http://mono.i-demo.pl/a8lcdl2.png

Symbol:
http://mono.i-demo.pl/a8symb2.png

Trip:
http://mono.i-demo.pl/a8trip2.png

Źródła (java) są dostępne tu: http://mono.i-demo.pl/chrdraw4-src.zip ; za to (atari) są tu: http://mono.i-demo.pl/chrdraw4.asx .

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje