1 Pages (12 items)
Maxima Draw2D labels error - Errors on labels on Draw2D from Maxima - Messages
#1 Posted: 6/14/2022 1:52:42 AM
Hi!
I have recently update Smath Studio to version 1.0.8151 and now I'm getting some errors on Draw2D() plot: See attached file. Ejemplo Maxima 2D Draw rectangles.sm (6 KiB) downloaded 74 time(s).
Apparently, now there is an error on labels, but in older versions of Smath it worked just fine.
The issue seems to be that now Draw2D() function doesn't support special characters and instead replaced them with UNICODE text...
Can anyone help me please!!?
I have recently update Smath Studio to version 1.0.8151 and now I'm getting some errors on Draw2D() plot: See attached file. Ejemplo Maxima 2D Draw rectangles.sm (6 KiB) downloaded 74 time(s).
Apparently, now there is an error on labels, but in older versions of Smath it worked just fine.
The issue seems to be that now Draw2D() function doesn't support special characters and instead replaced them with UNICODE text...
Can anyone help me please!!?
#2 Posted: 6/14/2022 1:18:49 PM
This is due to a change in string encoding on SMath side. I haven't had time to adjust the string handling on Maxima side. I see two workarounds for now:
1. use an older version of SMath (I don't remember at which version the change was implemented).
2. add a custom translation rule in maxima.xml in the plugin directory. The procedure is described in section 7.6 of the SMath Handbuch (the section is in English).
You might try to replace "\\0020\\" by " ".
Note that custom changes to maxima.xml aren't conveyed with the .sm file, so this is not portable.
1. use an older version of SMath (I don't remember at which version the change was implemented).
2. add a custom translation rule in maxima.xml in the plugin directory. The procedure is described in section 7.6 of the SMath Handbuch (the section is in English).
You might try to replace "\\0020\\" by " ".
Note that custom changes to maxima.xml aren't conveyed with the .sm file, so this is not portable.
Martin Kraska
Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
#3 Posted: 6/15/2022 3:20:05 AM
#4 Posted: 6/15/2022 10:48:23 AM
I confirm that there seems to be a problem with custom translations in maxima.xml. Sorry for guiding you into a dead end.
Possibly, this also has been broken at some version of SMath Studio. I'll ad that to the bug tracking system just as the string handling.
Possibly, this also has been broken at some version of SMath Studio. I'll ad that to the bug tracking system just as the string handling.
Martin Kraska
Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
#5 Posted: 6/15/2022 12:59:20 PM
WroteI'll ad that to the bug tracking system just as the string handling.
ConvertToMaxima.cs:
public static string PrepareStringsForMaxima(string text)
{
// text = ConvertTrigonometricFunctionsFromSMathToMaxima(text);
text = TermsConverter.DecodeText( text ).Replace("\"$", ""
;
text = text.Replace("$\"", ""
;
//foreach (var pair in CharactersToAscii) text = (new Regex(pair.Key).Replace(text, pair.Value));
//foreach (var pair in letters) text = (new Regex(pair.Key).Replace(text, pair.Value));
//foreach (var pair in symbolsToMaxima) text = (new Regex(pair.Key)).Replace(text, pair.Value);
text = text.Replace("\\", "\\\\"
; // convert backslash
return text;
}
You need to add TermsConverter.DecodeText( text )
Russia ☭ forever, Viacheslav N. Mezentsev
1 users liked this post
sergio 6/15/2022 4:56:00 PM
#6 Posted: 6/15/2022 3:50:50 PM
WroteWroteI'll ad that to the bug tracking system just as the string handling.
ConvertToMaxima.cs:public static string PrepareStringsForMaxima(string text) { // text = ConvertTrigonometricFunctionsFromSMathToMaxima(text); text = TermsConverter.DecodeText( text ).Replace("\"$", ""
; text = text.Replace("$\"", ""
; //foreach (var pair in CharactersToAscii) text = (new Regex(pair.Key).Replace(text, pair.Value)); //foreach (var pair in letters) text = (new Regex(pair.Key).Replace(text, pair.Value)); //foreach (var pair in symbolsToMaxima) text = (new Regex(pair.Key)).Replace(text, pair.Value); text = text.Replace("\\", "\\\\"
; // convert backslash return text; }
You need to add TermsConverter.DecodeText( text )
Hi Thanks!, but I'm not sure how to do that, can you guide me?
1 users liked this post
Martin Kraska 6/17/2022 10:21:00 AM
#7 Posted: 6/16/2022 1:40:27 AM
WroteHi Thanks!, but I'm not sure how to do that, can you guide me?
This is a hint for the plugin developer who needs to make changes to the source files in order to fix the problem: ConvertToMaxima.cs
Russia ☭ forever, Viacheslav N. Mezentsev
#8 Posted: 6/16/2022 7:19:03 AM
I've applied the fix proposed by Viacheslav, please try the updated plugin and check if it works.
If you like my plugins please consider to support the program buying a license; for personal contributions to me: paypal.me/dcprojects
2 users liked this post
#9 Posted: 6/17/2022 10:26:45 AM
WroteI've applied the fix proposed by Viacheslav, please try the updated plugin and check if it works.
Thanks, Viacheslav and Davide. I confirm that the fix works with version 8151. It is, however, not available for older version (tested with 7921).
EDIT: Tried again, works with 7921.
Martin Kraska
Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
#10 Posted: 6/17/2022 2:18:59 PM
Hi Martin, thank you for the feedback, I wasn't able to test it myself.
I've published the current code for every stable SMath Studio since 0.99.7579, so it should be available in the extensions Manager for a wide user base.
I've published the current code for every stable SMath Studio since 0.99.7579, so it should be available in the extensions Manager for a wide user base.
If you like my plugins please consider to support the program buying a license; for personal contributions to me: paypal.me/dcprojects
#11 Posted: 6/17/2022 4:48:07 PM
#12 Posted: 6/17/2022 6:21:04 PM
WroteHi Martin, thank you for the feedback, I wasn't able to test it myself.
I've published the current code for every stable SMath Studio since 0.99.7579, so it should be available in the extensions Manager for a wide user base.
Tried again, works now with 7921. Don't know what went wrong at the first try. Thanks again for fixing the problem.
Martin Kraska
Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
1 Pages (12 items)
-
New Posts
-
No New Posts