You've already forked lazarus-ccr
Added support to DfmToLfm for font substitution
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1412 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -1,8 +1,8 @@
|
|||||||
|
|
||||||
; DfmToLfm program configuration file.
|
; DfmToLfm program configuration file.
|
||||||
; Be sure to add "=" after each key you add. The key's value can be omitted
|
; Be sure to add "=" after each key you add. The key's value can be omitted
|
||||||
; as it has no meaning to DfmToLfm.
|
; as it has no meaning to DfmToLfm.
|
||||||
|
|
||||||
|
|
||||||
; DfmToLfm deletes these .dfm properties when creating .lfm file.
|
; DfmToLfm deletes these .dfm properties when creating .lfm file.
|
||||||
; Note: If no class is specified, deletes that property from all classes.
|
; Note: If no class is specified, deletes that property from all classes.
|
||||||
|
|
||||||
@ -124,6 +124,20 @@ TOvcTCIcon=
|
|||||||
TFrameViewer=
|
TFrameViewer=
|
||||||
THTMLViewer=
|
THTMLViewer=
|
||||||
|
|
||||||
|
|
||||||
|
; List of fonts to substitute with the -s switch (for example, fonts
|
||||||
|
; that don't exist on non-Windows platforms).
|
||||||
|
; Useful links:
|
||||||
|
; http://www.angelfire.com/al4/rcollins/style/fonts.html
|
||||||
|
; http://dustinbrewer.com/popular-fonts-with-their-mac-osx-windows-and-linux-equivalents/
|
||||||
|
; http://mondaybynoon.com/2007/04/02/linux-font-equivalents-to-popular-web-typefaces/
|
||||||
|
|
||||||
|
[FontSubstitutes]
|
||||||
|
MS Sans Serif=Arial
|
||||||
|
MS Serif=Times New Roman
|
||||||
|
System=Arial
|
||||||
|
|
||||||
|
|
||||||
; These controls cannot receive focus on Mac, so with -m switch
|
; These controls cannot receive focus on Mac, so with -m switch
|
||||||
; add TabStop = False so tabbing skips over them.
|
; add TabStop = False so tabbing skips over them.
|
||||||
|
|
||||||
@ -132,6 +146,6 @@ TButton=
|
|||||||
TBitBtn=
|
TBitBtn=
|
||||||
TComboBox=
|
TComboBox=
|
||||||
TCheckBox=
|
TCheckBox=
|
||||||
|
TRadioGroup=
|
||||||
;TListBox=
|
;TListBox=
|
||||||
;TRadioGroup
|
|
||||||
|
|
||||||
|
@ -60,6 +60,7 @@ var
|
|||||||
MatchFound : TFilenameCaseMatch;
|
MatchFound : TFilenameCaseMatch;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
FontSwitch : Integer;
|
FontSwitch : Integer;
|
||||||
|
SubstFonts : Boolean;
|
||||||
MacSwitch : Boolean;
|
MacSwitch : Boolean;
|
||||||
CfgFileObj : TMemIniFile;
|
CfgFileObj : TMemIniFile;
|
||||||
DfmFileName : string;
|
DfmFileName : string;
|
||||||
@ -88,12 +89,14 @@ begin
|
|||||||
begin
|
begin
|
||||||
WriteLn(ProgramName, ', version ', ProgramVersion,
|
WriteLn(ProgramName, ', version ', ProgramVersion,
|
||||||
' - converts a Delphi form file to a Lazarus form file.');
|
' - converts a Delphi form file to a Lazarus form file.');
|
||||||
WriteLn('Usage: ', ProgramName, ' filename', DfmFileExt, ' [-p|-d][-m]');
|
WriteLn('Usage: ', ProgramName, ' filename', DfmFileExt,
|
||||||
|
' [-p|-d][-s][-m]');
|
||||||
WriteLn('Switches:');
|
WriteLn('Switches:');
|
||||||
WriteLn(' -p Add parent''s font to controls with no font ',
|
WriteLn(' -p Add parent''s font to controls with no font ',
|
||||||
'(useful with Windows).');
|
'(useful with Windows).');
|
||||||
WriteLn(' -d Delete font name from controls ',
|
WriteLn(' -d Delete font name from controls ',
|
||||||
'(useful with GTK and GTK2).');
|
'(useful with GTK and GTK2).');
|
||||||
|
WriteLn(' -s Substitute font names.');
|
||||||
WriteLn(' -m Mac prettifier.');
|
WriteLn(' -m Mac prettifier.');
|
||||||
WriteLn('Looks for configuration data in file ', CfgFileName);
|
WriteLn('Looks for configuration data in file ', CfgFileName);
|
||||||
Halt;
|
Halt;
|
||||||
@ -105,6 +108,7 @@ begin
|
|||||||
FontSwitch := UseParentFont
|
FontSwitch := UseParentFont
|
||||||
else if FindCmdLineSwitch('d', ['-'], True) then
|
else if FindCmdLineSwitch('d', ['-'], True) then
|
||||||
FontSwitch := DeleteFontName;
|
FontSwitch := DeleteFontName;
|
||||||
|
SubstFonts := FindCmdLineSwitch('s', ['-'], True);
|
||||||
MacSwitch := FindCmdLineSwitch('m', ['-'], True);
|
MacSwitch := FindCmdLineSwitch('m', ['-'], True);
|
||||||
|
|
||||||
{Load configuration file}
|
{Load configuration file}
|
||||||
@ -301,6 +305,20 @@ begin
|
|||||||
end
|
end
|
||||||
*)
|
*)
|
||||||
|
|
||||||
|
else if SubstFonts and
|
||||||
|
SameText('font.name', Copy(StripStr, 1, 9)) then
|
||||||
|
begin
|
||||||
|
StripStr := Copy(InStr, Pos('=', InStr)+3, MaxInt); {Name after quote}
|
||||||
|
Delete(StripStr, Length(StripStr), 1); {Delete closing quote}
|
||||||
|
if CfgFileObj.ValueExists('FontSubstitutes', StripStr) then
|
||||||
|
WriteLn(LfmFileVar,
|
||||||
|
Copy(InStr, 1, Succ(Pos('=', InStr))), '''',
|
||||||
|
CfgFileObj.ReadString('FontSubstitutes', StripStr, 'Arial'),
|
||||||
|
'''')
|
||||||
|
else
|
||||||
|
WriteLn(LfmFileVar, InStr);
|
||||||
|
end
|
||||||
|
|
||||||
else if MacSwitch and
|
else if MacSwitch and
|
||||||
(StackLevel > 1) and
|
(StackLevel > 1) and
|
||||||
(SameText('TButton', StackRec[StackLevel].ClassName) or
|
(SameText('TButton', StackRec[StackLevel].ClassName) or
|
||||||
|
Reference in New Issue
Block a user