Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Please reconsider your addition of further confusion to the fonts and encoding situation on TempleOS #73

Closed
ctrlcctrlv opened this issue Nov 13, 2022 · 15 comments

Comments

@ctrlcctrlv
Copy link

Cf. rendello/templeos_font#4

I don't care if you want to use a more modern style, but changing the codepoint identities is seriously annoying.

@ctrlcctrlv
Copy link
Author

The problematic commit is 1745c7c by @xmm15

@ctrlcctrlv
Copy link
Author

The good news is it's not hard to restore the old font and rebuild the ISO.

image

I assume you won't accept a reversion that doesn't also maintain the new style, @TomAwezome?

I note also the replacement of an operator with an arrow. That should've gone in one of the blank spaces.

@TomAwezome
Copy link
Contributor

TomAwezome commented Nov 13, 2022

Hi, did you try Ctrl-Alt-F to toggle between thin font and thick font? The thin font is custom made by me, the thick font is ported from https://www.fontspace.com/public-pixel-font-f72305 .

If you would like to make a change, please submit a PR. Thank you and have a great day

@ctrlcctrlv
Copy link
Author

@TomAwezome This isn't a problem of my personal system but an encoding issue. Software won't be compatible if you change character identities like this.

@TomAwezome
Copy link
Contributor

I'm not sure I understand what you mean, Zeal is compatible with IBM CP437 and all modern software provides the ability to decode byte strings in that format

@TomAwezome
Copy link
Contributor

The only character bitmap changed distinctly is the Reverse Not Sign character, replacing it with a left-facing arrow, to use with CallerRep, of which I searched deep and found that the symbol does not ever get used in mathematics, nor any kind of proper formal usage. It was, as far as I could tell, the only available character in the VGA ROM font character map that has fallen out of use completely.

@ctrlcctrlv
Copy link
Author

Yes, but, Terry's encoding is not actually IBM Code Page 437. That becomes clear when I open it and force the encoding to be IBM437.

image

@ctrlcctrlv
Copy link
Author

There are plenty of open spaces and also you'll note duplications of characters found later between 0x02 and 0x0D. Terry also uses 0x1F as a "shift-space" as he called it, essentially it is a character that in TempleOS can co-exist with normal space (0x20) so that his automatic code formatting allowed him to mix tabs and spaces. I forget what video he explains it in. In a DolDoc, the shift-space is shown in grey.

@TomAwezome
Copy link
Contributor

Sounds good. Once you've changed things to use the character positions that make more sense, make a PR please. Thank you

@ctrlcctrlv
Copy link
Author

OK

@TomAwezome
Copy link
Contributor

Once a PR is submitted, the changes can be reviewed and tested against the existing fonts and external build scripts

@TomAwezome
Copy link
Contributor

I am also very early in development of a ZealC compiler/assembler/interpreter toolchain and will similarly test the changes against the prototype code on that to ensure it works the same before and after

@ctrlcctrlv
Copy link
Author

Hey that's great, I had been thinking of working on that for a while. I really could ues a working Linux version of ToHTML.HC.Z lol.

@TomAwezome
Copy link
Contributor

TomAwezome commented Nov 14, 2022

For the record, please keep this in mind: the "shift-space" functionality you mentioned was removed from ZealOS long ago, and is deprecated and no longer present in Zeal. So that character is no longer valid in Zeal's fontset nor source code. Also of note, the box-drawing characters Zeal uses are the IBM CP437 box drawing characters (so the "duplication" you mention doesn't exist in Zeal, unless the bitmaps for those regions happen to be left in the font bitmaps as legacy cruft).

Zeal does not use characters \0000 through \001F in the source code files, at all. (That I know of anyway!! I'd be interested to know if they do actually get used somewhere niche in the codebase!) Since Zeal code files do not use these characters, they should be fully compatible with IBM CP437.

@TomAwezome
Copy link
Contributor

TomAwezome commented Nov 14, 2022

The only usage I know of a character in the \0000-\001F range that Zeal uses is the same character that stock TOS uses, the 0x5 character to track DolDoc cursor which the DolDoc code automatically embeds into code files when using the OS. In that situation, CursorRemove("/*"); can be run to clean those out of files before syncing VM files to repository.
Whichever character TOS code files use from \0000-\001F for tab, is the same one Zeal uses.
When opening ZealOS code files in Featherpad, they open automatically decoded as ISO-8859-1.

@Zeal-Operating-System Zeal-Operating-System locked as resolved and limited conversation to collaborators Nov 14, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants