Topic: Version 3.18 build 3501

After installing the latest update I'm not able to use extended characters any more!
Looking at the documentation it is stated:
"As an initial step towards full Unicode support, the outtext and outtextxy subroutines will now treat all passed strings as UTF-8 strings, allowing extended characters to be generated seamlessly."
Can someone explain to me how I can use the extended characters with the outtext and outtextxy subroutines again?
I have created a database-program in Fortran and used a lot of extended characters like "José" (see last character)
But since I installed 3.18 these kind of characters are not visible any more!
I don't understand the message as mentioned in the SF-documentation (see above)
If someone could explain what I should do, I would be very grateful!

Re: Version 3.18 build 3501

Because we moved to UTF-8, practically any character is now displayable via outtext and outtextxy.  However, the change does cause issues using extended ANSI characters.  Prior to the change, the user had access to a theoretical 256 characters (some of which aren't displayable).  Accented e, for example, is ANSI character code 130.

In UTF-8, though, the extended ANSI characters are no longer accessible as such for the most part.  To create an é, you would need to use a two-character combination: 195 and 169.  The UTF-8 convention does provide access to basically every character, but it will break Fortran string length calculations.

However, your message is the second we've received complaining about the change to AppGraphics.  I think perhaps we were a bit too flippant about the change.  I think we probably should add a compatibility mode so that applications like yours will continue to work as is.

Let me see if we can add a startup subroutine that could trigger ANSI compatibility mode so that you're not endlessly trying to change your code.  I should have something for you to try as an alternative today.

Jeff Armstrong
Approximatrix, LLC

Re: Version 3.18 build 3501

Thanks Jeff for your quick reply.
What you suggested would really help!!

Re: Version 3.18 build 3501

There is a new subroutine, useansitext, that will set your AppGraphics application to use ANSI text rather than UTF-8.  The documentation (not yet online) suggests calling this subroutine early in your application, preferably before opening a window, with the code:

call useansitext()

Once the routine is called, it can't be reversed since it meant to place the entire application back into ANSI mode.

The new API is available with AppGraphics in Build 3502 of version 3.18.

Jeff Armstrong
Approximatrix, LLC

Re: Version 3.18 build 3501

Jeff,
Thanks for your support!!!