Jump to content
IGNORED

Atari FontMaker 1.3


matosimi

Recommended Posts

2 hours ago, pps said:

btw v1.35 does the rendering well on the same machine.

That's life.

Lot of changes were made since 1.3.5, it is built with completely different environment.

Source is free, so you can build your own native arm executable yourself.

I do not have such hw nor emulator.

Link to comment
Share on other sites

On 8/23/2020 at 1:53 PM, matosimi said:

That's life.

Lot of changes were made since 1.3.5, it is built with completely different environment.

Source is free, so you can build your own native arm executable yourself.

I do not have such hw nor emulator.

Hmm. Not sure if I find the time to learn another programming language in next days ;) Maybe someday.

 

edit: I looked at the source directory and the extender of some of the files is .pas - Did you code in Pascal and use Delphi just for compiling? Then I could have some more luck - Pascal I used for some projects in the early 90s...

Edited by pps
Link to comment
Share on other sites

On 8/25/2020 at 7:05 PM, pps said:

Hmm. Not sure if I find the time to learn another programming language in next days ;) Maybe someday.

 

edit: I looked at the source directory and the extender of some of the files is .pas - Did you code in Pascal and use Delphi just for compiling? Then I could have some more luck - Pascal I used for some projects in the early 90s...

Delphi is just Pascal with modern IDE and form editor.

Link to comment
Share on other sites

1 hour ago, matosimi said:

Delphi is just Pascal with modern IDE and form editor.

Not sure if such definition would please the vendor of Delphi. There is so much more. For someone who knows Turbo Pascal 5.5 or newer, reading the code is doable. The question is if Delphi can target ARM. If it doesn't, perhaps Lazarus IDE does.

Link to comment
Share on other sites

  • 2 years later...

Hi @matosimi,

 

   I'm on version 1.40 on Linux, is there any chance you could add functionality so that open files is done to the directory that FontMaker is started in, rather than the folder it's located in (it keeps on looking for font files in my ~/bin folder). Also, any chance of command line options, e.g.

 

$ FontMaker --font1 font.fnt --font2 font2.fnt --view view1.vf2

 

This is just so I can hit up arrow rather than navigating across half my file system.

Link to comment
Share on other sites

5 hours ago, E474 said:

Hi @matosimi,

 

   I'm on version 1.40 on Linux, is there any chance you could add functionality so that open files is done to the directory that FontMaker is started in, rather than the folder it's located in (it keeps on looking for font files in my ~/bin folder). Also, any chance of command line options, e.g.

 

$ FontMaker --font1 font.fnt --font2 font2.fnt --view view1.vf2

 

This is just so I can hit up arrow rather than navigating across half my file system.

Hey!

I have nothing to do with the linux native version, sorry. the linux binary is very outdated, built by someone else. I cannot help here, I do not use linux @ home and my experience with desktop versions is 0. I suppose you have the linux version from sourceforge, if you would manage to build it for linux I can put it there.

 

My plan was to migrate the tool to .net, but so far I am ok with it as it is, I use the current latest version (1.5.4.67) regularly, it supports simple command line parameter to open files directly.

 

The code is a bit better in 1.5 (1.4 and below are coded savagely), but my pascal skills are from ancient times (version 1.0 is 20 years old)... I remember that always when I performed some change to the code (last time a year ago) I had to redownload new embarcadero community to do so... the 1year license always expired in the meantime... so you can imagine how well is the project maintained :D 

But at least it is nice there is a free IDE that can build the tool by clicking a button.

 

I'm pretty sure the linux build is not that easy to perform.

Link to comment
Share on other sites

Hi @matosimi,

 

   Thanks for the reply and explanation. I have a feeling adding command line parameters and starting directory should not be *too* difficult, but jumping into someone else's code in a language I don't have much experience with (closest I've got is Modula-2) might be a bit too much like hard work. On the other hand, I will have a quick look, just in case it isn't!

Link to comment
Share on other sites

Hi @E474,

 

maybe this commit will help you getting on track: https://sourceforge.net/p/atari-fontmaker/code/8/

there were some changes required for it to be build under lx, but nothing seriously complicated...

 

there is fpc.cfg - free pascal compiler cfg? 

anyway, I have added lot of new functionality to the tool since commit 8, including JSON usage... so those 60 commits in between will definitely bring you some joy during adjusting the code :) 

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

Some news.  Atari FontMaker has been ported to C# and V1.6 has been released. The code and binaries can be found here: https://github.com/matosimi/atari-fontmaker

What has changed?

- You now have 4 fonts to work with, next to the MegaCopy button there is a font bank switch to access the two font banks

- The view window now has multiple pages. You can add any number of pages, rename and reorder them. ie. Not limited to a single 40x26 screen anymore

- Export view data: you can now export the view window in various data formats.  Not limited to the full screen. You can select a small area, like a 4x3 and export just that data.

- The palette was changed from the funky old one to the one used in Altirra.

 

Thank you to MatoSimi for letting me do the port :)

 

All comments, suggestions, flames, etc are welcome.

  • Like 10
  • Thanks 1
Link to comment
Share on other sites

On 4/18/2023 at 1:18 AM, RetroCoder said:

Some news.  Atari FontMaker has been ported to C# and V1.6 has been released. The code and binaries can be found here: https://github.com/matosimi/atari-fontmaker

What has changed?

- You now have 4 fonts to work with, next to the MegaCopy button there is a font bank switch to access the two font banks

- The view window now has multiple pages. You can add any number of pages, rename and reorder them. ie. Not limited to a single 40x26 screen anymore

- Export view data: you can now export the view window in various data formats.  Not limited to the full screen. You can select a small area, like a 4x3 and export just that data.

- The palette was changed from the funky old one to the one used in Altirra.

 

All comments, suggestions, flames, etc are welcome.

 

Nice additions. I'll like to test things out, soon as I have the opportunity.

 

  

On 4/18/2023 at 1:18 AM, RetroCoder said:

All comments, suggestions, flames, etc are welcome.

 

I still would like to see, and would appreciate, the following features.

 

On 1/14/2020 at 8:38 PM, MrFish said:

A couple additions that I would find useful:

1. Ability to type in the view area.

2. Some means to shift all characters in a font, simultaneously in any direction. 

 

  • Like 1
Link to comment
Share on other sites

On 4/20/2023 at 12:50 AM, MrFish said:

A couple additions that I would find useful:

1. Ability to type in the view area.

2. Some means to shift all characters in a font, simultaneously in any direction. 

 

 

As for feature 1. Ability to type in the view area.  That kind of is there already.

- Hit the MegaCopy button to enable MegaCopy mode

- Click the [Enter text] button

- Type your text into the box and click [Ok]

- Click [PST] or Ctrl+V and you can paste the typed in text into the view area (or font area)

- The characters will be in the font what is currently at the top of the font bank (font 1 or font 3)

 

For feature 2. Shift characters

What functionality do you want?

- Click on any character and hit some button to move everything to the right (or left) destroying the character that is moved off the end of the font

this would be like creating a blank hole in the font

- Or hit some button and rotate each character to the right/left, the end shifts back into the front, hence not creating a hole (just shifting)

  • Like 1
Link to comment
Share on other sites

36 minutes ago, RetroCoder said:

For feature 2. Shift characters

What functionality do you want?

- Click on any character and hit some button to move everything to the right (or left) destroying the character that is moved off the end of the font

this would be like creating a blank hole in the font

- Or hit some button and rotate each character to the right/left, the end shifts back into the front, hence not creating a hole (just shifting)

Any of those could be fine to accomodate the bitmaps in the charset. Rotation works better for me to save the overwrritten char if it is meaningful.

 

About shift and rotations, I'd like to have a bit/pixel level multichar rotation, in any direction. Currently, I have to shift one char and then add the pixels from the other char where those pixels were removed by the same operation. Using MegaCopy to select a range in the view could be used to get an index of the involved chars, and then enable shift and rotation buttons. Pressing any of the buttons should proceed and update those chars as expected (based on the geometry of the selection).

 

 

Link to comment
Share on other sites

35 minutes ago, RetroCoder said:

For feature 2. Shift characters

 

I would expect another explanation.... i think MrFish was talking about pre-shifting of software sprites. Currently we can shift just 1 character in any direction and the pixel that is being shifted out (depending on the direction) is shifted in on the opposite side.

 

Imagine you have a sprite of 2x2 characters and you would like to shift it 1 pixel right... you would need to shift each of those 4 characters right and then manually take care of the pixels shifted between the characters.

I was thinking about this some time ago... it has some specific prerequisites:

- each character has to be in the shifted area only once

- you have to handle looping (take care of pixels shifted out and shifted in)

- in case of 2x2 example, you may shift with looping inside of those 4 characters... or extend to 3x2 characters... but in that case you need to somehow define 2 more characters to receive the pixels shifted out

 

...now the solution how to implement it:

- available only in megacopy mode ->  by enabling of all 4 shift-buttons

- select area to be shifted (either in font or view window) + copy to clipboard (ctrl+c)

   - in case of selection in view window: ensure that the area contains each character only once

   - in case of selection in font window: naturally each character is there only once

- press paste from clipboard (ctrl+v)

- click one of the 4 shift commands (directions)

- AFM performs shifting of the clipboard that is being currently pasted and it also redraws it... so user can combine as many shifts as required

- important: if shifting is applied then disable pasting to view window since the shifted characters do not exist in the font

- click on the font area to paste the shifted characters to the font

 

This approach does not need to take care of extending the selection area because user can select 3x2 area that contains 2x2 sprite + 1x2 empty characters ... (im not sure if this is clear, but at least it makes sense to me)

 

:)

  • Like 2
Link to comment
Share on other sites

5 hours ago, RetroCoder said:

As for feature 1. Ability to type in the view area.  That kind of is there already.

Ah, yeah, I'd forgotten it'd already been added. It's been a while since I used the program, and the feature hadn't been there for so many years before...

 

5 hours ago, RetroCoder said:

For feature 2. Shift characters

What functionality do you want?

- Click on any character and hit some button to move everything to the right (or left) destroying the character that is moved off the end of the font

this would be like creating a blank hole in the font

- Or hit some button and rotate each character to the right/left, the end shifts back into the front, hence not creating a hole (just shifting)

It doesn't really matter which method for my purposes. I need to move the whole font in this manner whenever it happens I'd like a space (blank area) to be on one side instead of the other, or top instead of the bottom, etc. So, there's nothing there to shift in or out. But if I was going to choose, I guess I'd prefer for pixels to not reappear on the opposite side when they go off the grid.

 

Thanks, much appreciated addition. Will save some time.

 

[Edited: for clarity]

 

Link to comment
Share on other sites

1 hour ago, matosimi said:

I would expect another explanation.... i think MrFish was talking about pre-shifting of software sprites. Currently we can shift just 1 character in any direction and the pixel that is being shifted out (depending on the direction) is shifted in on the opposite side.

 

Imagine you have a sprite of 2x2 characters and you would like to shift it 1 pixel right... you would need to shift each of those 4 characters right and then manually take care of the pixels shifted between the characters.

I was thinking about this some time ago... it has some specific prerequisites:

- each character has to be in the shifted area only once

- you have to handle looping (take care of pixels shifted out and shifted in)

- in case of 2x2 example, you may shift with looping inside of those 4 characters... or extend to 3x2 characters... but in that case you need to somehow define 2 more characters to receive the pixels shifted out

 

...now the solution how to implement it:

- available only in megacopy mode ->  by enabling of all 4 shift-buttons

- select area to be shifted (either in font or view window) + copy to clipboard (ctrl+c)

   - in case of selection in view window: ensure that the area contains each character only once

   - in case of selection in font window: naturally each character is there only once

- press paste from clipboard (ctrl+v)

- click one of the 4 shift commands (directions)

- AFM performs shifting of the clipboard that is being currently pasted and it also redraws it... so user can combine as many shifts as required

- important: if shifting is applied then disable pasting to view window since the shifted characters do not exist in the font

- click on the font area to paste the shifted characters to the font

 

This approach does not need to take care of extending the selection area because user can select 3x2 area that contains 2x2 sprite + 1x2 empty characters ... (im not sure if this is clear, but at least it makes sense to me)

I actually I just meant it for single characters -- for working with normal-sized text fonts; but, what you're suggesting would be useful too.

 

Link to comment
Share on other sites

On 4/21/2023 at 6:53 PM, MrFish said:

I actually I just meant it for single characters -- for working with normal-sized text fonts; but, what you're suggesting would be useful too.

 

In V 1.6.6.5 there will be 4 extra buttons above the font area.  There you can shift all characters in a font left or right with or without inserting a hole at the shift position.

  • Thanks 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...