Three month spec freeze
Sean Conner
sean at conman.org
Wed Jun 3 17:14:49 BST 2020
It was thus said that the Great Felix Queißner once stated:
> > It was thus said that the Great Felix Queißner once stated:
> > Secondly, Linux systems come with iconv. Not only is this a program, but
> > it's also a library which is dead simple to use as there are only three
> > functions:
>
> Yeah, i know these bindings and i know that libiconv is a thing. It's
> still a dependency that *all* Gemini programs need to incorporate to be
> *fully* compliant for displaying text/gemini files
Yes, and because of the line breaking requirement of text/gemini, the
Unicode Line Breaking Algorithm is *also* required---a nice document of
20,000 words:
https://www.unicode.org/reports/tr14/
Your client does implement that, right? Also, what does your client do if
it receives a BOM (byte order mark)? That's illegal in UTF-8. Also, what
Unicode normalization forms does it support? What does it do when it
encounters an illegal byte in the document?
Or does it pass everything along to the operating system?
> > RFC-1436 (the gopher RFC) suggests ISO Latin1 (ISO-8859-1 if I'm not
> > mistaken) for 8-bit character sets and says *nothing* about UTF-8 (of
> > course, it was written before UTF-8 was an RFC, three years later). But
> > most of the gopher sites I hit these days are UTF-8---it's rare that I
> > actually encounter anything but UTF-8.
>
> So, what you are saying is:
> Most people already use utf-8, so there's no reason to enforce utf-8?
Yes.
> I think it's even more an argument to enforce UTF-8. It makes the
> software way simpler and less error pronce, reducing the possibilities
> of attacks via badly implemented encodings and also reduces the risk of
> il-translated and badly displayed text.
I don't agree fully, given some of my questions above. Also, do you
filter out control sequences? MS-DOS supported control sequences to
redefine the keyboard but I'm not sure if that is still the case with
Windows.
-spc
More information about the Gemini
mailing list