mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 04:49:19 +02:00
* Fixed image support
git-svn-id: trunk@11160 -
This commit is contained in:
parent
6a993fc079
commit
c9eba19930
@ -106,7 +106,8 @@ resourcestring
|
|||||||
SHTMLUsageCharset = 'Set the HTML character set';
|
SHTMLUsageCharset = 'Set the HTML character set';
|
||||||
SHTMLHtmlSearch = 'Add search page with given name to the menu bar';
|
SHTMLHtmlSearch = 'Add search page with given name to the menu bar';
|
||||||
SHTMLIndexColcount = 'Use N columns in the identifier index pages';
|
SHTMLIndexColcount = 'Use N columns in the identifier index pages';
|
||||||
|
SHTMLImageUrl = 'Prefix image URLs with url';
|
||||||
|
|
||||||
// CHM usage
|
// CHM usage
|
||||||
SCHMUsageTOC = 'Use [File] as the table of contents. Usually a .hhc file.';
|
SCHMUsageTOC = 'Use [File] as the table of contents. Usually a .hhc file.';
|
||||||
SCHMUsageIndex = 'Use [File] as the index. Usually a .hhk file.';
|
SCHMUsageIndex = 'Use [File] as the index. Usually a .hhk file.';
|
||||||
|
@ -142,7 +142,7 @@ type
|
|||||||
procedure DescrEndItalic; override;
|
procedure DescrEndItalic; override;
|
||||||
procedure DescrBeginEmph; override;
|
procedure DescrBeginEmph; override;
|
||||||
procedure DescrEndEmph; override;
|
procedure DescrEndEmph; override;
|
||||||
procedure DescrWriteImageEl(const AFileName, ACaption : DOMString); override;
|
procedure DescrWriteImageEl(const AFileName, ACaption, ALinkName : DOMString); override;
|
||||||
procedure DescrWriteFileEl(const AText: DOMString); override;
|
procedure DescrWriteFileEl(const AText: DOMString); override;
|
||||||
procedure DescrWriteKeywordEl(const AText: DOMString); override;
|
procedure DescrWriteKeywordEl(const AText: DOMString); override;
|
||||||
procedure DescrWriteVarEl(const AText: DOMString); override;
|
procedure DescrWriteVarEl(const AText: DOMString); override;
|
||||||
@ -962,10 +962,10 @@ begin
|
|||||||
PopOutputNode;
|
PopOutputNode;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure THTMLWriter.DescrWriteImageEl(const AFileName, ACaption : DOMString);
|
procedure THTMLWriter.DescrWriteImageEl(const AFileName, ACaption, ALinkName : DOMString);
|
||||||
|
|
||||||
Var
|
Var
|
||||||
Pel,Cel : TDOMNode;
|
Pel,Cel,Lel : TDOMNode;
|
||||||
El :TDomElement;
|
El :TDomElement;
|
||||||
D : String;
|
D : String;
|
||||||
L : Integer;
|
L : Integer;
|
||||||
@ -978,7 +978,10 @@ begin
|
|||||||
begin
|
begin
|
||||||
Cel:=CreateTable(CurOutputNode);
|
Cel:=CreateTable(CurOutputNode);
|
||||||
Pel:=CreateTD(CreateTR(Cel));
|
Pel:=CreateTD(CreateTR(Cel));
|
||||||
AppendText(CreateTD(CreateTR(Cel)),ACaption);
|
Cel:=CreateTD(CreateTR(Cel));
|
||||||
|
If (ALinkName<>'') then
|
||||||
|
Cel:=CreateAnchor(Cel,ALinkName);
|
||||||
|
AppendText(Cel,ACaption);
|
||||||
end;
|
end;
|
||||||
// Determine URL for image.
|
// Determine URL for image.
|
||||||
D:=BaseImageURL;
|
D:=BaseImageURL;
|
||||||
@ -2279,7 +2282,8 @@ Var
|
|||||||
I : Integer;
|
I : Integer;
|
||||||
M : TPasModule;
|
M : TPasModule;
|
||||||
E : TPasElement;
|
E : TPasElement;
|
||||||
|
S : String;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
L:=TStringList.Create;
|
L:=TStringList.Create;
|
||||||
try
|
try
|
||||||
@ -2291,7 +2295,10 @@ begin
|
|||||||
AddModuleIdentifiers(M,L);
|
AddModuleIdentifiers(M,L);
|
||||||
end;
|
end;
|
||||||
AppendMenuBar(IndexSubIndex);
|
AppendMenuBar(IndexSubIndex);
|
||||||
AppendTitle(Format(SDocPackageIndex, [Copy(Package.Name, 2, 256)]));
|
S:=Package.Name;
|
||||||
|
If Length(S)>0 then
|
||||||
|
Delete(S,1,1);
|
||||||
|
AppendTitle(Format(SDocPackageIndex, [S]));
|
||||||
CreateIndexPage(L);
|
CreateIndexPage(L);
|
||||||
Finally
|
Finally
|
||||||
L.Free;
|
L.Free;
|
||||||
@ -3250,6 +3257,8 @@ begin
|
|||||||
CharSet := Arg
|
CharSet := Arg
|
||||||
else if Cmd = '--index-colcount' then
|
else if Cmd = '--index-colcount' then
|
||||||
IndexColCount := StrToIntDef(Arg,IndexColCount)
|
IndexColCount := StrToIntDef(Arg,IndexColCount)
|
||||||
|
else if Cmd = '--image-url' then
|
||||||
|
FBaseImageURL := Arg
|
||||||
else if Cmd = '--footer-date' then
|
else if Cmd = '--footer-date' then
|
||||||
begin
|
begin
|
||||||
FIDF:=True;
|
FIDF:=True;
|
||||||
@ -3277,6 +3286,8 @@ begin
|
|||||||
List.Add(SHTMLHtmlSearch);
|
List.Add(SHTMLHtmlSearch);
|
||||||
List.Add('--index-colcount=N');
|
List.Add('--index-colcount=N');
|
||||||
List.Add(SHTMLIndexColcount);
|
List.Add(SHTMLIndexColcount);
|
||||||
|
List.Add('--image-url=url');
|
||||||
|
List.Add(SHTMLImageUrl);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// private methods
|
// private methods
|
||||||
|
@ -38,6 +38,7 @@ Type
|
|||||||
TLaTeXWriter = class(TLinearWriter)
|
TLaTeXWriter = class(TLinearWriter)
|
||||||
protected
|
protected
|
||||||
FLink: String;
|
FLink: String;
|
||||||
|
FImageDir: String;
|
||||||
FTableCount : Integer;
|
FTableCount : Integer;
|
||||||
FInVerbatim : Boolean;
|
FInVerbatim : Boolean;
|
||||||
Inlist,
|
Inlist,
|
||||||
@ -85,6 +86,7 @@ Type
|
|||||||
procedure DescrEndItalic; override;
|
procedure DescrEndItalic; override;
|
||||||
procedure DescrBeginEmph; override;
|
procedure DescrBeginEmph; override;
|
||||||
procedure DescrEndEmph; override;
|
procedure DescrEndEmph; override;
|
||||||
|
procedure DescrWriteImageEl(const AFileName, ACaption, ALinkName : DOMString); override;
|
||||||
procedure DescrWriteFileEl(const AText: DOMString); override;
|
procedure DescrWriteFileEl(const AText: DOMString); override;
|
||||||
procedure DescrWriteKeywordEl(const AText: DOMString); override;
|
procedure DescrWriteKeywordEl(const AText: DOMString); override;
|
||||||
procedure DescrWriteVarEl(const AText: DOMString); override;
|
procedure DescrWriteVarEl(const AText: DOMString); override;
|
||||||
@ -125,6 +127,7 @@ Type
|
|||||||
procedure DescrEndTableCell; override;
|
procedure DescrEndTableCell; override;
|
||||||
// TFPDocWriter class methods
|
// TFPDocWriter class methods
|
||||||
Function InterPretOption(Const Cmd,Arg : String) : boolean; override;
|
Function InterPretOption(Const Cmd,Arg : String) : boolean; override;
|
||||||
|
Property ImageDir : String Read FImageDir Write FImageDir;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -215,6 +218,29 @@ begin
|
|||||||
Write('}');
|
Write('}');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TLaTeXWriter.DescrWriteImageEl(const AFileName, ACaption, ALinkName : DOMString);
|
||||||
|
|
||||||
|
Var
|
||||||
|
FN : String;
|
||||||
|
L : Integer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Writeln('\begin{figure}[ht]%');
|
||||||
|
Writeln('\begin{center}');
|
||||||
|
If (ACaption<>ACaption) then
|
||||||
|
Writeln(Format('\caption{%s}',[EscapeText(ACaption)]));
|
||||||
|
If (ALinkName<>'') then
|
||||||
|
WriteLabel('fig:'+ALinkName);
|
||||||
|
FN:=ImageDir;
|
||||||
|
L:=Length(FN);
|
||||||
|
If (L>0) and (FN[l]<>'/') then
|
||||||
|
FN:=FN+'/';
|
||||||
|
FN:=FN+AFileName;
|
||||||
|
Writeln('\epsfig{file='+FN+'}');
|
||||||
|
Writeln('\end{center}');
|
||||||
|
Writeln('\end{figure}');
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TLaTeXWriter.DescrWriteFileEl(const AText: DOMString);
|
procedure TLaTeXWriter.DescrWriteFileEl(const AText: DOMString);
|
||||||
begin
|
begin
|
||||||
Write('\file{');
|
Write('\file{');
|
||||||
@ -675,6 +701,8 @@ begin
|
|||||||
LatexHighLight:=True
|
LatexHighLight:=True
|
||||||
else if Cmd = '--latex-extension' then
|
else if Cmd = '--latex-extension' then
|
||||||
TexExtension:=Arg
|
TexExtension:=Arg
|
||||||
|
else if Cmd = '--image-dir' then
|
||||||
|
ImageDir:=Arg
|
||||||
else
|
else
|
||||||
Result:=False;
|
Result:=False;
|
||||||
end;
|
end;
|
||||||
|
@ -105,7 +105,7 @@ type
|
|||||||
procedure DescrEndItalic; virtual; abstract;
|
procedure DescrEndItalic; virtual; abstract;
|
||||||
procedure DescrBeginEmph; virtual; abstract;
|
procedure DescrBeginEmph; virtual; abstract;
|
||||||
procedure DescrEndEmph; virtual; abstract;
|
procedure DescrEndEmph; virtual; abstract;
|
||||||
procedure DescrWriteImageEl(const AFileName, ACaption : DOMString); virtual; abstract;
|
procedure DescrWriteImageEl(const AFileName, ACaption,ALinkName : DOMString); virtual; abstract;
|
||||||
procedure DescrWriteFileEl(const AText: DOMString); virtual; abstract;
|
procedure DescrWriteFileEl(const AText: DOMString); virtual; abstract;
|
||||||
procedure DescrWriteKeywordEl(const AText: DOMString); virtual; abstract;
|
procedure DescrWriteKeywordEl(const AText: DOMString); virtual; abstract;
|
||||||
procedure DescrWriteVarEl(const AText: DOMString); virtual; abstract;
|
procedure DescrWriteVarEl(const AText: DOMString); virtual; abstract;
|
||||||
@ -977,7 +977,10 @@ begin
|
|||||||
Result := True;
|
Result := True;
|
||||||
end else if Node.NodeName = 'img' then
|
end else if Node.NodeName = 'img' then
|
||||||
begin
|
begin
|
||||||
|
begin
|
||||||
ConvertImage(Node as TDomElement);
|
ConvertImage(Node as TDomElement);
|
||||||
|
Result:=True;
|
||||||
|
end;
|
||||||
end else
|
end else
|
||||||
Result := False;
|
Result := False;
|
||||||
end;
|
end;
|
||||||
@ -985,13 +988,14 @@ end;
|
|||||||
Procedure TFPDocWriter.ConvertImage(El : TDomElement);
|
Procedure TFPDocWriter.ConvertImage(El : TDomElement);
|
||||||
|
|
||||||
Var
|
Var
|
||||||
FN,Cap : DOMString;
|
FN,Cap,LinkName : DOMString;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
FN:=El['file'];
|
FN:=El['file'];
|
||||||
Cap:=El['caption'];
|
Cap:=El['caption'];
|
||||||
ChangeFileExt(FN,ImageExtension);
|
LinkName:=El['name'];
|
||||||
DescrWriteImageEl(FN,Cap);
|
FN:=ChangeFileExt(FN,ImageExtension);
|
||||||
|
DescrWriteImageEl(FN,Cap,LinkName);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user