|
@@ -115,6 +115,7 @@ end;
|
|
Var
|
|
Var
|
|
CurrentVideoDriver : TVideoDriver;
|
|
CurrentVideoDriver : TVideoDriver;
|
|
NextVideoMode : TVideoMode;
|
|
NextVideoMode : TVideoMode;
|
|
|
|
+ CurrentLegacy2EnhancedTranslationCodePage: TSystemCodePage;
|
|
|
|
|
|
Const
|
|
Const
|
|
VideoInitialized : Boolean = False;
|
|
VideoInitialized : Boolean = False;
|
|
@@ -241,7 +242,10 @@ begin
|
|
if not VideoInitialized then
|
|
if not VideoInitialized then
|
|
begin
|
|
begin
|
|
if Assigned(CurrentVideoDriver.InitEnhancedDriver) then
|
|
if Assigned(CurrentVideoDriver.InitEnhancedDriver) then
|
|
- CurrentVideoDriver.InitEnhancedDriver
|
|
|
|
|
|
+ begin
|
|
|
|
+ CurrentLegacy2EnhancedTranslationCodePage := 437;
|
|
|
|
+ CurrentVideoDriver.InitEnhancedDriver;
|
|
|
|
+ end
|
|
else if Assigned(CurrentVideoDriver.InitDriver) then
|
|
else if Assigned(CurrentVideoDriver.InitDriver) then
|
|
CurrentVideoDriver.InitDriver;
|
|
CurrentVideoDriver.InitDriver;
|
|
if errorcode=viook then
|
|
if errorcode=viook then
|
|
@@ -352,7 +356,7 @@ begin
|
|
begin
|
|
begin
|
|
SetLength(tmpS, 1);
|
|
SetLength(tmpS, 1);
|
|
tmpS[1]:=Ch;
|
|
tmpS[1]:=Ch;
|
|
- System.SetCodePage(tmpS,CP_OEMCP,False);
|
|
|
|
|
|
+ System.SetCodePage(tmpS,CurrentLegacy2EnhancedTranslationCodePage,False);
|
|
Result:=tmpS;
|
|
Result:=tmpS;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
@@ -517,6 +521,33 @@ begin
|
|
Inc(Result, ExtendedGraphemeClusterDisplayWidth(EGC));
|
|
Inc(Result, ExtendedGraphemeClusterDisplayWidth(EGC));
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+function GetActiveCodePage: TSystemCodePage;
|
|
|
|
+begin
|
|
|
|
+ if EnhancedVideoInitialized then
|
|
|
|
+ Result := CurrentLegacy2EnhancedTranslationCodePage
|
|
|
|
+ else
|
|
|
|
+ {todo: get this from the driver}
|
|
|
|
+ Result := DefaultSystemCodePage;
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+procedure ActivateCodePage(CodePage: TSystemCodePage);
|
|
|
|
+begin
|
|
|
|
+ if EnhancedVideoInitialized then
|
|
|
|
+ CurrentLegacy2EnhancedTranslationCodePage := CodePage;
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+function GetSupportedCodePageCount: Integer;
|
|
|
|
+begin
|
|
|
|
+ { todo... }
|
|
|
|
+ Result := 0;
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+function GetSupportedCodePage(Index: Integer): TSystemCodePage;
|
|
|
|
+begin
|
|
|
|
+ { todo... }
|
|
|
|
+ Result := 0;
|
|
|
|
+end;
|
|
|
|
+
|
|
{ ---------------------------------------------------------------------
|
|
{ ---------------------------------------------------------------------
|
|
General functions
|
|
General functions
|
|
---------------------------------------------------------------------}
|
|
---------------------------------------------------------------------}
|