<div dir="ltr">Hello Oleg,<div><br></div><div>Regarding UTF8 and Unicode in Oberon, you might like to know that some work has already been done.</div><div><br></div><div>Michael Shierl has provided some <a href="https://github.com/schierlm/Oberon2013Modifications/blob/master/UTF8Charset/UTF8Charset.patch">patches</a> to Oberon-O7 in support of utf8 and fonts with large numbers of glyphs in them, which I adopted and wrote a technote about.</div><div><br></div><div>I suggest looking at <a href="https://github.com/io-core/technotes/blob/main/technote003.md">https://github.com/io-core/technotes/blob/main/technote003.md</a> to see one way of doing it... Ignore the bits about PCF but see the bits about the changes made to Fonts, Texts, TextFrames, Edit, etc. to support utf8-encoded glyphs in Oberon-07.<br></div><div><br></div><div>I like what Michael did and I would like to see TextFrames further extended to glyph composition and bi-directional text flow, etc.</div><div><br></div><div>Best Regards,</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jun 16, 2021 at 7:39 PM Oleg N. Cher <<a href="mailto:allot@bk.ru">allot@bk.ru</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Dear Robert,<br>
<br>
You may not have known this, but Ofront by Josef Templ has a successor - <br>
this is the Ofront+ (<a href="https://github.com/Oleg-N-Cher/OfrontPlus" rel="noreferrer" target="_blank">https://github.com/Oleg-N-Cher/OfrontPlus</a>). It <br>
supports various UNIX-like (both 32-bit and 64-bit), as well as macOS <br>
and Windows. Also I tested this under Linux Armbian on Orange Pi PC Plus <br>
(ARMv7 architecture).<br>
<br>
Also it has five input languages, including Oberon-07/16 and Component <br>
Pascal. The support for Oberon-07 was done rather hastily, I can't call <br>
it completed. But I'm interested in improving it. Therefore, I would be <br>
very grateful if you take Ofront+ as one of the translators for build <br>
the Artemis.<br>
<br>
It should probably be noted here that I am interested in the industrial <br>
application of Oberon-07, and not in academic adherence to the canons of <br>
extreme simplicity. So I will support both language extensions and also <br>
things that seem reasonable to me.<br>
<br>
Also, I just recently thought about the need to support UTF-8 as one of <br>
input text format for Ofront+. I do not know what this might look like <br>
in Oberon-07, where the CHAR type size is not fixed, which is likely to <br>
cause a lot of problems. But I will probably have to develop something <br>
like the Texts module, which should support at the input ANSI, UTF-8 <br>
encoded text, and I will definitely need support of the .odc format from <br>
BlackBox Component Builder. The output will be a two-byte CHAR type.<br>
<br>
even more than sure that you don't need support of .odc format, as <br>
well as Component Pascal language. But I decided to inform you anyway.<br>
<br>
Thank you for developing Artemis, I will follow your development.<br>
<br>
<br>
Robert Doiel пишет:<br>
> This list discussion around Oberon Texts has been inspiring. It is been so<br>
> inspiring I've create a GitHub repository named Artemis:<br>
> <br>
> > Artemis is an Oberon-7 module collection. My hope is<br>
> > to encourage continued use and development of the Oberon-7<br>
> > language and encourage convergence towards compatibility<br>
> > in implementations of Oberon-7 compilers.<br>
> <br>
> <br>
> This ties back to the Texts discussion in one significant way. I am <br>
> planning<br>
> to port both S3 (Native Oberon) Texts.Mod and V4 (Linz) Texts (Texts.Mod,<br>
> Elem.Mod, etc) to Oberon-7. That code will wind up in Artemis and be <br>
> used to<br>
> implement an "ocat" (like Joseph Templ's ocat from ofront) that will <br>
> work for<br>
> each of the type of Texts.<br>
> <br>
> I've looked at each implementation and I think unifying them is beyond my<br>
> skill but porting each one would be extremely useful, especially from a<br>
> preservation point of view.<br>
> <br>
> I am not promising fast (or successful) development. I am one of those<br>
> dreaded hobbyist when it comes to Oberon. I think the collection will be<br>
> useful as it evolves. It is likely to hold my interest for quite some <br>
> time.<br>
> I think it will be especially for useful for fellow novices exploring<br>
> Oberon-7 on POSIX.<br>
> <br>
> <a href="https://github.com/rsdoiel/Artemis" rel="noreferrer" target="_blank">https://github.com/rsdoiel/Artemis</a><br>
> <br>
> Feed back welcome, criticism is helpful, pull request exciting. You can<br>
> reach me on this email list and via GitHub issue<br>
> (<a href="https://github.com/rsdoiel/Artemis/issues" rel="noreferrer" target="_blank">https://github.com/rsdoiel/Artemis/issues</a>).<br>
> <br>
> All the best,<br>
> <br>
> Robert Doiel<br>
> <br>
> <br>
> -- <br>
> <a href="mailto:Oberon@lists.inf.ethz.ch" target="_blank">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br>
> <a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" rel="noreferrer" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br>
<br>
--<br>
<a href="mailto:Oberon@lists.inf.ethz.ch" target="_blank">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" rel="noreferrer" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br>
</blockquote></div>