﻿id	summary	reporter	owner	description	type	status	milestone	component	version	severity	resolution	keywords	cc
2914	_StringProper - Diacratic Char issue	mLipok		"Here is repro script:

{{{
#include <string.au3>

ConsoleWrite(@CR)
ConsoleWrite('_StringProper:' & @CR)
ConsoleWrite(_StringProper('SOSNOWIEC') & @CR)
ConsoleWrite(_StringProper('Jastrzębie-Zdrój') & @CR)
ConsoleWrite(_StringProper('Wodzisław ŚLĄSKI') & @CR)

ConsoleWrite(@CR)
ConsoleWrite('_StringProper_My:' & @CR)
ConsoleWrite(_StringProper_My('SOSNOWIEC') & @CR)
ConsoleWrite(_StringProper_My('Jastrzębie-Zdrój') & @CR)
ConsoleWrite(_StringProper_My('Wodzisław ŚLĄSKI') & @CR)

ConsoleWrite(@CR)
ConsoleWrite('_StringProper_My_2:' & @CR)
ConsoleWrite(_StringProper_My_2('SOSNOWIEC') & @CR)
ConsoleWrite(_StringProper_My_2('Jastrzębie-Zdrój') & @CR)
ConsoleWrite(_StringProper_My_2('Wodzisław ŚLĄSKI') & @CR)

ConsoleWrite(@CR)


; modified _StringProper()
Func _StringProper_My($sString)
	Local $bCapNext = True, $sChr = """", $sReturn = """"
	For $i = 1 To StringLen($sString)
		$sChr = StringMid($sString, $i, 1)
		Select
			Case $bCapNext = True
				; added ąĄćĆęĘłŁńŃóÓśŚżŻźŹ
				If StringRegExp($sChr, '(?i)[a-zA-ZĂ€-ĂżĹˇĹ“ĹľĹ¸ąĄćĆęĘłŁńŃóÓśŚżŻźŹ]') Then
					$sChr = StringUpper($sChr)
					$bCapNext = False
				EndIf
				; added ąĄćĆęĘłŁńŃóÓśŚżŻźŹ
			Case Not StringRegExp($sChr, '(?i)[a-zA-ZĂ€-ĂżĹˇĹ“ĹľĹ¸ąĄćĆęĘłŁńŃóÓśŚżŻźŹ]')
				$bCapNext = True
			Case Else
				$sChr = StringLower($sChr)
		EndSelect
		$sReturn &= $sChr
	Next
	Return $sReturn
EndFunc   ;==>_StringProper_My


; modified _StringProper()
Func _StringProper_My_2($sString)
	Local $bCapNext = True, $sChr = """", $sReturn = """"
	For $i = 1 To StringLen($sString)
		$sChr = StringMid($sString, $i, 1)
		Select
			Case $bCapNext = True
				; added ąĄćĆęĘłŁńŃóÓśŚżŻźŹ
				; removed €
				If StringRegExp($sChr, '(?i)[a-zA-ZĂ-ĂżĹˇĹ“ĹľĹ¸ąĄćĆęĘłŁńŃóÓśŚżŻźŹ]') Then
					$sChr = StringUpper($sChr)
					$bCapNext = False
				EndIf
				; added ąĄćĆęĘłŁńŃóÓśŚżŻźŹ
				; removed €
			Case Not StringRegExp($sChr, '(?i)[a-zA-ZĂ-ĂżĹˇĹ“ĹľĹ¸ąĄćĆęĘłŁńŃóÓśŚżŻźŹ]')
				$bCapNext = True
			Case Else
				$sChr = StringLower($sChr)
		EndSelect
		$sReturn &= $sChr
	Next
	Return $sReturn
EndFunc   ;==>_StringProper_My_2

}}}


Results (correct are from _StringProper_My_2)

{{{
_StringProper:
Sosnowiec
JastrzęBie-ZdróJ
WodzisłAw ŚlĄSki

_StringProper_My:
SOSNOWIEC
Jastrzębie-Zdrój
Wodzisław ŚLĄSKI

_StringProper_My_2:
Sosnowiec
Jastrzębie-Zdrój
Wodzisław Śląski
}}}
"	Bug	closed		Standard UDFs	3.3.13.19	None	Rejected		
