![]() |
Forum Index : Microcontroller and PC projects : CMM2: 8x8 Font editor written in basic.
Author | Message | ||||
capsikin Guru ![]() Joined: 30/06/2020 Location: AustraliaPosts: 341 |
I've made a font editor in CMM2 basic. It's kind of a mess but I'm a bit sick of working on it, so it is what it is. Number of characters in the font is hard coded, but you can just change a constant. Same for filename. Size is hard coded to 8x8, and probably needs a fair bit of work to change. font-editor.zip edited to add: There's also an option to edit in the program to start with an included font file, I included the ZX Spectrum one if you turn on the option. Edited 2020-08-31 01:02 by capsikin |
||||
capsikin Guru ![]() Joined: 30/06/2020 Location: AustraliaPosts: 341 |
font-editor.zip New version, you can move the all the pixels in a character up, left, down or right. I used it to align the Sinclair font characters as they didn't match what I saw in an emulator. It may need a recent version of the firmware as there was a bug in MID$ before 5.05.05 Edited to add attachment Edited 2020-09-13 16:06 by capsikin |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4136 |
Hi "capiskin", I took a look and it has the makings of a useful tool, but needs a lot of work ![]() Best wishes, Tom MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
elk1984![]() Senior Member ![]() Joined: 11/07/2020 Location: United KingdomPosts: 227 |
Hi Capiskin I'd be happy to help out on this project. I've got a project where I want to create a custom font and whilst FontEdit is excellent I'd have loved to do the work directly on the CMM 2. DM me if you're interested |
||||
capsikin Guru ![]() Joined: 30/06/2020 Location: AustraliaPosts: 341 |
Cool, DM sent. |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4136 |
Hi "capiskin", Unfortunately I don't have the time to volunteer to help, but a font editor is on my "hit list" for the Welcome Tape, I don't suppose that is possible ? You might also want to keep in the back of your mind that the functionality of a simple sprite editor has a reasonable amount in common with a font editor. Two birds with one stone and all that. Best wishes, Tom MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
capsikin Guru ![]() Joined: 30/06/2020 Location: AustraliaPosts: 341 |
capsikin Unfortunately I don't have the time to volunteer to help, but a font editor is on my "hit list" for the Welcome Tape, I don't suppose that is possible ? You might also want to keep in the back of your mind that the functionality of a simple sprite editor has a reasonable amount in common with a font editor. Two birds with one stone and all that. Best wishes, Tom If we get it in a good state to go on the tape, I think I'd be okay with the unlicense. I'll check with elk1984. No promises on getting it polished and ready though. |
||||
capsikin Guru ![]() Joined: 30/06/2020 Location: AustraliaPosts: 341 |
Apart from stuff I found via the manual, this is where I got some font format information - TassyJim explained a header line: https://www.thebackshed.com/forum/ViewTopic.php?TID=12451&PID=151451#151451 In the example 01203C30 Each two hex digits are one number. "1 character, Chr$(32), 60 pixels high and 48 pixels wide" 01 is number of characters, 1 20 is the hex code for the first character, decimal 32, the space character. 3C hex must be 60 in decimal. 30 hex is 48 in decimal. Here's a layout I think would look better. (It's similar to the Repton 3 game sprite editor on the BBC Micro) squarish rbox around the pixel grid in the top left full width rbox at the bottom, to display the whole character set. may need to be up to 32 characters wide x 8 high, plus spacing. top right can be used for other things. e.g. brief instructions. The current character could have a two pixel box around it. I didn't think of a way to indicate the pixel cursor yet. I made a mockup of the layout, program here mode 1 cls bsize=320 rbox 0,0,bsize,bsize psize=32 offset=(bsize-(8*psize))/2 for n=0 to 7 for m=0 to 7 box n*psize+offset,m*psize+offset,psize,psize,2,RGB(gray),RGB(black) next box n*psize+offset,n*psize+offset,psize,psize,2,RGB(gray),RGB(white) next rbox 0,bsize+16,768,144 print @(bsize+64,0) "Press a key to quit mockup program" do loop until inkey$ <> "" |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4136 |
Hi "capsikin", Mockup looks very pretty. No worries. Regarding the license, I have in the latest post on the Welcome Tape thread accepted the possibility that some programs will be alternatively licensed ... it shouldn't be too much of a problem, though the more using the Unlicense the better. Best wishes, Tom MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
elk1984![]() Senior Member ![]() Joined: 11/07/2020 Location: United KingdomPosts: 227 |
Mockup looks very pretty. No worries. Regarding the license, I have in the latest post on the Welcome Tape thread accepted the possibility that some programs will be alternatively licensed ... it shouldn't be too much of a problem, though the more using the Unlicense the better. Best wishes, Tom More than happy for any code I contribute to be published and used as people see fit. But no warranty eh? ![]() |
||||
![]() |