mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-29 11:10:16 +02:00
lazutf8: GetFormatSettingsUTF8: map common multibyte chars to ASCII
git-svn-id: trunk@47890 -
This commit is contained in:
parent
22a79968ee
commit
e1e00306cf
@ -19,7 +19,7 @@ unit LazUTF8;
|
|||||||
{$mode objfpc}{$H+}{$inline on}
|
{$mode objfpc}{$H+}{$inline on}
|
||||||
|
|
||||||
{$IF defined(EnableUTF8RTL) and (FPC_FULLVERSION<20701)}
|
{$IF defined(EnableUTF8RTL) and (FPC_FULLVERSION<20701)}
|
||||||
{$error UTF8 RTl requires fpc 2.7.1+}
|
{$error UTF8 in RTL requires fpc 2.7.1+}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -354,8 +354,36 @@ begin
|
|||||||
if (GetLocaleInfoA(aLocaleID, aLCType, Buf, sizeof(buf)) > 0)
|
if (GetLocaleInfoA(aLocaleID, aLCType, Buf, sizeof(buf)) > 0)
|
||||||
and (ord(Buf[0])<128) then
|
and (ord(Buf[0])<128) then
|
||||||
Result := Buf[0]
|
Result := Buf[0]
|
||||||
else
|
else begin
|
||||||
Result := Def;
|
Result := Def;
|
||||||
|
case Buf[0] of
|
||||||
|
#$C2:
|
||||||
|
case Buf[1] of
|
||||||
|
#$A0: Result:=' '; // non breakable space
|
||||||
|
#$B7: Result:='.'; // middle stop
|
||||||
|
end;
|
||||||
|
#$CB:
|
||||||
|
if Buf[1]=#$99 then Result:=''''; // dot above, italian handwriting
|
||||||
|
#$D9:
|
||||||
|
case Buf[1] of
|
||||||
|
#$AB: Result:=','; // arabic decimal separator, persian thousand separator
|
||||||
|
#$AC: Result:=''''; // arabic thousand separator
|
||||||
|
end;
|
||||||
|
#$E2:
|
||||||
|
case Buf[1] of
|
||||||
|
#$80:
|
||||||
|
case Buf[2] of
|
||||||
|
#$82, // long space
|
||||||
|
#$83, // long space
|
||||||
|
#$89, // thin space
|
||||||
|
#$AF: // narrow non breakable space
|
||||||
|
Result := ' ';
|
||||||
|
#$94: Result := '-'; // persian decimal mark
|
||||||
|
end;
|
||||||
|
#$8E: if Buf[2]=#$96 then Result := ''''; // codepoint 9110 decimal separator
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure GetFormatSettingsUTF8(LCID: Integer; var aFormatSettings: TFormatSettings);
|
procedure GetFormatSettingsUTF8(LCID: Integer; var aFormatSettings: TFormatSettings);
|
||||||
|
Loading…
Reference in New Issue
Block a user