Page 5 of 11
					
				Re: Issue #19: Unicode for Component Pascal identifiers
				Posted: Sat Nov 08, 2014 7:51 am
				by Ivan Denisov
				We need to vote here:
- do we need to make validation in Utf8ToString according UTF-8 standard and can mark it for public usage
- we do not need to make validation in Utf8ToString and will use this procedure internally or mark it as unsafe in documentation
			 
			
					
				Re: Issue #19: Unicode for Component Pascal identifiers
				Posted: Sat Nov 08, 2014 8:10 am
				by Ivan Denisov
				Josef Templ wrote:Ivan, please keep it simple. You are inventing problems that don't exist.
Our Utf-8 converters convert any 'Valid' Component-Pascal string into Utf-8 AND back.
In Component Pascal a string is valid if it is 0X terminated.
Since Component-Pascal does not restrict the character codes, why should the Utf-8 converter?
With your approach you end up for some strings in a legal StringToUtf8 conversion that
cannot be converted back by Utf8ToString. This is really strange
and the alternative is so obvious and so simple.
It is possible case, that we will use such converter internally in Kernel without validity checking for better speed. But in Strings will provide the full Alexander version of converter. However I sure that difference in speed in total will be very small.
Also Josef, you said "The hackers are very smart." 12 Aug 2014.
Please, read this: 
http://www.unicode.org/reports/tr36/#UTF-8_Exploit 
			 
			
					
				Re: Issue #19: Unicode for Component Pascal identifiers
				Posted: Sat Nov 08, 2014 11:14 am
				by Ivan Denisov
				Zinn and Josef, please look at the table 3-7 here:
http://www.unicode.org/versions/Unicode7.0.0/ch03.pdf
			
		
				
			
 
						- wellformedutf8.png (80 KiB) Viewed 23689 times
 
		
		
		
			  
			 
			
					
				Re: Issue #19: Unicode for Component Pascal identifiers
				Posted: Sat Nov 08, 2014 10:12 pm
				by DGDanforth
				Ivan,
It appears that a simple case statement would implement that table, right?
			 
			
					
				Re: Issue #19: Unicode for Component Pascal identifiers
				Posted: Sun Nov 09, 2014 2:30 am
				by Ivan Denisov
				DGDanforth wrote:Ivan,
It appears that a simple case statement would implement that table, right?
Case statements with simple "state machine":
http://forum.oberoncore.ru/viewtopic.ph ... 92b#p89571 
			 
			
					
				Re: Issue #19: Unicode for Component Pascal identifiers
				Posted: Sun Nov 09, 2014 10:00 pm
				by Josef Templ
				> - Format errors inside identifier does not occur
If you decode a string that has been written by BB 1.6 into a symbol or object file
you may get a format error. Such a situation is possible and must be covered by the decoder.
Helmut, your approach is too simple; Ivan's approach is too complex.
My approach is exactly in between.
That approach detects format errors but does not care about the contents,
i.e. it treats all 16-bit characters codes as legal in the same way as Component Pascal does it.
It is so obvious that it is hard to believe for me that there is any discussion about it.
- Josef
			 
			
					
				Re: Issue #19: Unicode for Component Pascal identifiers
				Posted: Wed Nov 12, 2014 12:49 pm
				by Ivan Denisov
				I incorporate 
last Helmut bugfix into branch #19.
This also led to extinction of the building pipeline bug about appendingProperties in 
System/Strings.odc and in 
About dialog.
You can test new version here:
blackbox-1.7-a1.025.zip
blackbox-1.7-a1.025-setup.exe
Also I removed forced SHORTCHAR to CHAR converstion in a case of return 2 ("decode incomplete or error").
 
			 
			
					
				Re: Issue #19: Unicode for Component Pascal identifiers
				Posted: Fri Nov 14, 2014 5:05 pm
				by Ivan Denisov
				Josef, Helmut, Doug and others, can we make the vote now?
			 
			
					
				Re: Issue #19: Unicode for Component Pascal identifiers
				Posted: Fri Nov 14, 2014 5:09 pm
				by Ivan Denisov
				Josef Templ wrote:> - Format errors inside identifier does not occur
If you decode a string that has been written by BB 1.6 into a symbol or object file
you may get a format error. Such a situation is possible and must be covered by the decoder.
Helmut, your approach is too simple; Ivan's approach is too complex.
My approach is exactly in between.
That approach detects format errors but does not care about the contents,
i.e. it treats all 16-bit characters codes as legal in the same way as Component Pascal does it.
It is so obvious that it is hard to believe for me that there is any discussion about it.
- Josef
Josef, if you will use it internally there will be no problem. But you want to transfer this to Strings and people will use it for many purposes.
Again, we should led the Unicode standard. I have 
found the table with well formed UTF-8. Alexander made some effort. I do not understand, why you do not like the single working algorithm?
 
			 
			
					
				Re: Issue #19: Unicode for Component Pascal identifiers
				Posted: Fri Nov 14, 2014 7:44 pm
				by DGDanforth
				Ivan Denisov wrote:Josef, Helmut, Doug and others, can we make the vote now?
I'd like to here more from Josef on the issue before we vote.