summaryrefslogtreecommitdiff
path: root/docview
diff options
context:
space:
mode:
authorGraeme Geldenhuys <graemeg@gmail.com>2014-08-20 02:11:13 +0100
committerGraeme Geldenhuys <graemeg@gmail.com>2014-08-20 02:11:13 +0100
commitc8acc2c1666015daeb3038c838e5018c0ecd8903 (patch)
tree5ad2edaf0e5fb6be146491226dca4d915333d80d /docview
parentc45010b6370b50f8e6192ddb7dc3d7762c8c29f7 (diff)
parentd0d8573b046e5020d05c86a970d303084de19b7d (diff)
downloadfpGUI-c8acc2c1666015daeb3038c838e5018c0ecd8903.tar.xz
Merge branch 'release-1.2' into master
Diffstat (limited to 'docview')
-rw-r--r--docview/components/richtext/CanvasFontManager.pas48
-rw-r--r--docview/components/richtext/RichTextDisplayUnit.pas17
-rw-r--r--docview/components/richtext/RichTextView.pas8
-rw-r--r--docview/components/richtext/testedit/frarichtextedit.pas652
-rw-r--r--docview/components/richtext/testedit/images/bold.bmpbin0 -> 1782 bytes
-rw-r--r--docview/components/richtext/testedit/images/bold.jpgbin0 -> 583 bytes
-rw-r--r--docview/components/richtext/testedit/images/bold.pngbin0 -> 738 bytes
-rw-r--r--docview/components/richtext/testedit/images/center.bmpbin0 -> 1782 bytes
-rw-r--r--docview/components/richtext/testedit/images/center.jpgbin0 -> 539 bytes
-rw-r--r--docview/components/richtext/testedit/images/center.pngbin0 -> 528 bytes
-rw-r--r--docview/components/richtext/testedit/images/check.bmpbin0 -> 1782 bytes
-rw-r--r--docview/components/richtext/testedit/images/check.pngbin0 -> 704 bytes
-rw-r--r--docview/components/richtext/testedit/images/color.bmpbin0 -> 1782 bytes
-rw-r--r--docview/components/richtext/testedit/images/color.jpgbin0 -> 737 bytes
-rw-r--r--docview/components/richtext/testedit/images/color.pngbin0 -> 795 bytes
-rw-r--r--docview/components/richtext/testedit/images/color_background.bmpbin0 -> 1782 bytes
-rw-r--r--docview/components/richtext/testedit/images/color_background.jpgbin0 -> 755 bytes
-rw-r--r--docview/components/richtext/testedit/images/color_background.pngbin0 -> 900 bytes
-rw-r--r--docview/components/richtext/testedit/images/font.bmpbin0 -> 1782 bytes
-rw-r--r--docview/components/richtext/testedit/images/font.jpgbin0 -> 775 bytes
-rw-r--r--docview/components/richtext/testedit/images/font.pngbin0 -> 717 bytes
-rw-r--r--docview/components/richtext/testedit/images/hyperlink.bmpbin0 -> 1710 bytes
-rw-r--r--docview/components/richtext/testedit/images/hyperlink.jpgbin0 -> 319 bytes
-rw-r--r--docview/components/richtext/testedit/images/hyperlink.pngbin0 -> 595 bytes
-rw-r--r--docview/components/richtext/testedit/images/image.bmpbin0 -> 1782 bytes
-rw-r--r--docview/components/richtext/testedit/images/image.jpgbin0 -> 706 bytes
-rw-r--r--docview/components/richtext/testedit/images/image.pngbin0 -> 1074 bytes
-rw-r--r--docview/components/richtext/testedit/images/italic.bmpbin0 -> 1782 bytes
-rw-r--r--docview/components/richtext/testedit/images/italic.jpgbin0 -> 561 bytes
-rw-r--r--docview/components/richtext/testedit/images/italic.pngbin0 -> 676 bytes
-rw-r--r--docview/components/richtext/testedit/images/justify.bmpbin0 -> 1782 bytes
-rw-r--r--docview/components/richtext/testedit/images/justify.jpgbin0 -> 491 bytes
-rw-r--r--docview/components/richtext/testedit/images/justify.pngbin0 -> 525 bytes
-rw-r--r--docview/components/richtext/testedit/images/left.bmpbin0 -> 1782 bytes
-rw-r--r--docview/components/richtext/testedit/images/left.jpgbin0 -> 531 bytes
-rw-r--r--docview/components/richtext/testedit/images/left.pngbin0 -> 538 bytes
-rw-r--r--docview/components/richtext/testedit/images/margin.bmpbin0 -> 1782 bytes
-rw-r--r--docview/components/richtext/testedit/images/margin.jpgbin0 -> 567 bytes
-rw-r--r--docview/components/richtext/testedit/images/margin.pngbin0 -> 582 bytes
-rw-r--r--docview/components/richtext/testedit/images/nowrap.bmpbin0 -> 1782 bytes
-rw-r--r--docview/components/richtext/testedit/images/nowrap.jpgbin0 -> 730 bytes
-rw-r--r--docview/components/richtext/testedit/images/nowrap.pngbin0 -> 751 bytes
-rw-r--r--docview/components/richtext/testedit/images/right.bmpbin0 -> 1782 bytes
-rw-r--r--docview/components/richtext/testedit/images/right.jpgbin0 -> 532 bytes
-rw-r--r--docview/components/richtext/testedit/images/right.pngbin0 -> 519 bytes
-rw-r--r--docview/components/richtext/testedit/images/underlined.bmpbin0 -> 1782 bytes
-rw-r--r--docview/components/richtext/testedit/images/underlined.jpgbin0 -> 555 bytes
-rw-r--r--docview/components/richtext/testedit/images/underlined.pngbin0 -> 743 bytes
-rw-r--r--docview/components/richtext/testedit/img_richedit.inc1616
-rw-r--r--docview/components/richtext/testedit/testedit.lpi88
-rw-r--r--docview/components/richtext/testedit/testedit.lpr176
-rw-r--r--docview/docs/docview.ipf5
-rw-r--r--docview/src/CompareWordUnit.pas28
-rw-r--r--docview/src/HelpBitmap.pas4
-rw-r--r--docview/src/HelpFile.pas36
-rw-r--r--docview/src/HelpTopic.pas7
-rw-r--r--docview/src/SearchUnit.pas17
-rw-r--r--docview/src/SettingsUnit.pas3
-rw-r--r--docview/src/docview.rc8
-rw-r--r--docview/src/extrafpc.cfg4
-rw-r--r--docview/src/frm_main.pas123
61 files changed, 2738 insertions, 102 deletions
diff --git a/docview/components/richtext/CanvasFontManager.pas b/docview/components/richtext/CanvasFontManager.pas
index 9e9114ec..edeb8cb9 100644
--- a/docview/components/richtext/CanvasFontManager.pas
+++ b/docview/components/richtext/CanvasFontManager.pas
@@ -35,7 +35,7 @@ type
private
FWidget: TfpgWidget;
FCanvas: TfpgCanvas;
- FFont: TfpgFont;
+ FFontCache: TFPList;
function GetCurrentFont: TfpgFont;
procedure SetDefaultFont(const AValue: TfpgFont);
protected
@@ -235,14 +235,20 @@ begin
FWidget := AWidget;
FDefaultFont := fpgGetFont(DefaultTopicFont);
FCanvas.Font := FDefaultFont;
- FFont := nil;
+ FFontCache := TFPList.Create;
end;
destructor TCanvasFontManager.Destroy;
+var
+ i: Integer;
begin
FCanvas.Font := fpgApplication.DefaultFont;
FDefaultFont.Free;
- FFont.Free;
+
+ for i := 0 to FFontCache.Count-1 do
+ TObject(FFontCache.Items[i]).Free;
+ FFontCache.Free;
+
inherited Destroy;
end;
@@ -262,6 +268,11 @@ end;
// Set the current font for the canvas to match the given
// spec, creating or re-using fonts as needed.
procedure TCanvasFontManager.SetFont(const AFontDesc: TfpgString);
+const
+ MAX_FONT_CACHE = 10;
+var
+ i: Integer;
+ Tmp: TfpgFont;
begin
if FCanvas.Font.FontDesc = AFontDesc then
Exit; // nothing to do so exit
@@ -272,10 +283,25 @@ begin
Exit;
end;
- if Assigned(FFont) then
- FFont.Free;
- FFont := fpgGetFont(AFontDesc);
- FCanvas.Font := FFont;
+ for i := 0 to FFontCache.Count-1 do
+ begin
+ Tmp := TfpgFont(FFontCache.Items[i]);
+ if Tmp.FontDesc = AFontDesc then
+ begin
+ FFontCache.Move(i, 0);
+ FCanvas.Font := Tmp;
+ Exit;
+ end;
+ end;
+
+ Tmp := fpgGetFont(AFontDesc);
+ FFontCache.Insert(0, Tmp);
+ if FFontCache.Count > MAX_FONT_CACHE then
+ begin
+ TObject(FFontCache.Items[MAX_FONT_CACHE]).Free;
+ FFontCache.Delete(MAX_FONT_CACHE);
+ end;
+ FCanvas.Font := Tmp;
end;
function TCanvasFontManager.CharWidth( const C: TfpgChar ): longint;
@@ -313,14 +339,6 @@ var
t: TfpgString;
begin
t := s;
- //case Settings.Encoding of
- // encUTF8: t := IPFToUTF8(t);
- // encCP437: t := CP437ToUTF8(t);
- // encCP850: t := CP850ToUTF8(t);
- // encIBMGraph: t := IBMGraphToUTF8(t);
- //else
- // t := IPFToUTF8(t);
- //end;
FCanvas.DrawString(Point.X, Point.Y, t);
Point.x := Point.X + Canvas.Font.TextWidth(t);
end;
diff --git a/docview/components/richtext/RichTextDisplayUnit.pas b/docview/components/richtext/RichTextDisplayUnit.pas
index 2e62a511..482a587b 100644
--- a/docview/components/richtext/RichTextDisplayUnit.pas
+++ b/docview/components/richtext/RichTextDisplayUnit.pas
@@ -231,10 +231,19 @@ ProfileEvent('DEBUG: DrawRichTextLine >>>');
BitmapRect.Bottom := Trunc(BitmapRect.Top
+ Bitmap.Height * Layout.VerticalImageScale);
- FontManager.Canvas.StretchDraw(BitmapRect.Left, BitMapRect.Top,
- BitmapRect.Right-BitMapRect.Left, BitMapRect.Bottom-BitMapRect.Top, Bitmap);
-
- inc( X, trunc( Bitmap.Width * Layout.HorizontalImageScale ) );
+ if ((BitMapRect.Right - BitMapRect.Left) = Bitmap.Width) and
+ ((BitMapRect.Bottom - BitMapRect.Top) = Bitmap.Height) then
+ begin
+ // no stretching required
+ FontManager.Canvas.DrawImage(BitmapRect.Left, BitMapRect.Top, Bitmap);
+ inc(X, Bitmap.Width);
+ end
+ else
+ begin
+ FontManager.Canvas.StretchDraw(BitmapRect.Left, BitMapRect.Top,
+ BitmapRect.Right-BitMapRect.Left, BitMapRect.Bottom-BitMapRect.Top, Bitmap);
+ inc(X, trunc(Bitmap.Width * Layout.HorizontalImageScale));
+ end;
end;
end
else
diff --git a/docview/components/richtext/RichTextView.pas b/docview/components/richtext/RichTextView.pas
index fe38017f..e890ca54 100644
--- a/docview/components/richtext/RichTextView.pas
+++ b/docview/components/richtext/RichTextView.pas
@@ -1007,7 +1007,7 @@ begin
if InDesigner then
exit;
- if WinHandle = 0 then
+ if IsLoading then
exit;
RemoveCursor;
@@ -1066,8 +1066,10 @@ ProfileEvent('DEBUG: TRichTextView.Layout >>>>');
if InDesigner then
exit;
- if WinHandle = 0 then
+
+ if IsLoading then
exit;
+
ProfileEvent('DEBUG: TRichTextView.Layout 1 of 6');
FSelectionEnd := -1;
FSelectionStart := -1;
@@ -1177,7 +1179,7 @@ begin
end;
ebsDefault:
begin
- Canvas.DrawControlFrame(r);
+ fpgStyle.DrawControlFrame(Canvas, r);
end;
ebsSingle:
begin
diff --git a/docview/components/richtext/testedit/frarichtextedit.pas b/docview/components/richtext/testedit/frarichtextedit.pas
new file mode 100644
index 00000000..903c96ae
--- /dev/null
+++ b/docview/components/richtext/testedit/frarichtextedit.pas
@@ -0,0 +1,652 @@
+unit frarichtextedit;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+ fpg_base,
+ fpg_tab,
+ fpg_button,
+ fpg_panel,
+ fpg_main,
+ fpg_memo,
+ fpg_form,
+ fpg_dialogs,
+ fpg_stdimages,
+ RichTextView,
+ fpg_imagelist,
+ fpg_imgfmt_bmp,
+ fpg_imgfmt_png,
+ fpg_imgfmt_jpg,
+ Classes, SysUtils;
+
+Type
+
+ { TRichTextEditFrame }
+
+ TRichTextEditFrame = class(TfpgFrame)
+ private
+ FImageNames : TStringList;
+ FImageList : tfpgImageList;
+ procedure CheckTags;
+ procedure EncloseSelection(Const StartTag, EndTag: String);
+ function GetImageNames: TStrings;
+ function GetRichText: String;
+ procedure InsertColor(Const Background : Boolean);
+ procedure InsertFont;
+ procedure InsertImage;
+ procedure InsertLink;
+ procedure InsertMargin;
+ procedure DoPageChange(Sender: TObject; NewActiveSheet: TfpgTabSheet);
+ procedure OnToolButton(Sender: TObject);
+ procedure SetImageNames(AValue: TStrings);
+ procedure SetRichText(AValue: String);
+ protected
+ {@VFD_HEAD_BEGIN: MainForm}
+ PCedit: TfpgPageControl;
+ TSedit: TfpgTabSheet;
+ BBar: TfpgBevel;
+ BBold: TfpgButton;
+ BItalic: TfpgButton;
+ Bunderline: TfpgButton;
+ BHead: TfpgBevel;
+ BH1: TfpgButton;
+ BH2: TfpgButton;
+ BH3: TfpgButton;
+ BAligns: TfpgBevel;
+ BAleft: TfpgButton;
+ BACenter: TfpgButton;
+ BAJustified: TfpgButton;
+ BAright: TfpgButton;
+ BAUnaligned: TfpgButton;
+ BANowrap: TfpgButton;
+ BevMargin: TfpgBevel;
+ BMargin: TfpgButton;
+ BFont: TfpgButton;
+ BColor: TfpgButton;
+ BBGColor: TfpgButton;
+ BSpaceImage: TfpgBevel;
+ BImage: TfpgButton;
+ BLink: TfpgButton;
+ BCheck: TfpgButton;
+ MText: TfpgMemo;
+ TSPreview: TfpgTabSheet;
+ RTVPreview: TRichTextView;
+ {@VFD_HEAD_END: MainForm}
+ procedure AfterCreate; override;
+ Public
+ Property ImageNames : TStrings Read GetImageNames Write SetImageNames;
+ Property RichText : String Read GetRichText Write SetRichText;
+ end;
+
+Procedure RegisterRichTextImages(ADir : String);
+Procedure RegisterStdRichTextImages;
+
+implementation
+
+procedure TRichTextEditFrame.DoPageChange(Sender: TObject; NewActiveSheet: TfpgTabSheet);
+
+Var
+ F : String;
+
+begin
+ If NewActiveSheet=TSPreview then
+ begin
+ RTVPreview.Clear;
+ F:=MText.Lines.Text;
+ RTVPreview.AddText(Pchar(F));
+ end;
+end;
+
+Const
+ TBBold = 1;
+ TBItalic = 2;
+ TBUnderLine = 3;
+ TBH1 = 4;
+ TBH2 = 5;
+ TBH3 = 6;
+ TBAlignLeft = 7;
+ TBAlignCenter = 8;
+ TBAlignRight = 9;
+ TBAlignNone = 10;
+ TBAlignJustify = 11;
+ TBMargin = 12;
+ TBFont = 13;
+ TBColor = 14;
+ TBBGColor = 15;
+ TBImage = 16;
+ TBLink = 17;
+ TBNowrap = 18;
+ TBCheck = 19;
+
+ BSize = 30;
+
+ // Image names
+ BIBold = 'richtextedit.bold';
+ BIItalic = 'richtextedit.italic';
+ BIunderline = 'richtextedit.underline';
+ BIAlignLeft = 'richtextedit.left';
+ BIAlignCenter = 'richtextedit.center';
+ BIAlignRight = 'richtextedit.right';
+// BIAlignNone = 10;
+ BIAlignJustify = 'richtextedit.justify';
+ BIMargin = 'richtextedit.margin';
+ BIFont = 'richtextedit.font';
+ BIColor = 'richtextedit.color';
+ BIBGColor = 'richtextedit.backgroundcolor';
+ BIImage = 'richtextedit.image';
+ BILink = 'richtextedit.link';
+ BINowrap = 'richtextedit.nowrap';
+ BICheck = 'richtextedit.check';
+
+ BFNBold = 'bold';
+ BFNItalic = 'italic';
+ BFNunderline = 'underlined';
+ BFNAlignLeft = 'left';
+ BFNAlignCenter = 'center';
+ BFNAlignRight = 'right';
+// BFNAlignNone = 10;
+ BFNAlignJustify = 'justify';
+ BFNMargin = 'margin';
+ BFNFont = 'font';
+ BFNColor = 'color';
+ BFNBGColor = 'color_background';
+ BFNImage = 'image';
+ BFNLink = 'hyperlink';
+ BFNNoWrap = 'nowrap';
+ BFNCheck = 'check';
+
+procedure CheckSelection(Const S, TextName : String);
+
+Var
+ I,P,L,TS,TC : Integer;
+ T : TStrings;
+ TT,TN : String;
+
+begin
+ T:=TStringList.Create;
+ try
+ I:=0;
+ P:=0;
+ L:=Length(S);
+ While (P=0) and (I<L) do
+ begin
+ Inc(I);
+ If (S[i]='<') then
+ if (I=L) then
+ P:=I
+ else
+ begin
+ Inc(I);
+ if (S[i]<>'<') then
+ begin
+ TS:=I;
+ While (P=0) and (S[i]<>'>') do
+ if (I=L) then
+ P:=I
+ else
+ Inc(I);
+ if (P=0) then
+ begin
+ TN:=LowerCase(Copy(S,TS,I-TS));
+ TC:=Pos(' ',TN);
+ if TC<>0 then
+ TN:=Copy(TN,1,TC-1);
+ if (TN<>'') then
+ begin
+ if (TN[1]<>'/') then
+ begin
+ if Pos('/'+TN+'/','/align/rightmargin/leftmargin/image/')=0 then
+ T.Add(TN)
+ end
+ else
+ begin
+ Delete(TN,1,1);
+ TC:=T.Count-1;
+ if (TC<0) then
+ P:=TS
+ else
+ if (T[TC]<>TN) then
+ P:=TS
+ else
+ T.Delete(TC);
+ end;
+ end;
+ end;
+ end;
+ end;
+ end;
+ if (P<>0) then
+ Raise Exception.CreateFmt('The %s contains a not-opened closing tag at position %d: %s',[TextName,P,TN])
+ else if (T.Count>0) then
+ Raise Exception.CreateFmt('The %s contains a not-closed tag: %s',[TextName,T[T.Count-1]])
+ finally
+ T.Free;
+ end;
+end;
+
+procedure TRichTextEditFrame.EncloseSelection(Const StartTag, EndTag : String);
+
+
+Var
+ S: String;
+
+begin
+ S:=MText.SelectionText;
+ if (EndTag<>'') then
+ CheckSelection(S,'selection');
+ If (StartTag<>'') then
+ S:='<'+StartTag+'>'+S;
+ if (EndTag<>'') then
+ S:=S+'</'+EndTag+'>';
+ MText.SelectionText:=S;
+// MText.SelectionText:=S;
+end;
+
+function TRichTextEditFrame.GetImageNames: TStrings;
+begin
+ Result:=FImageNames;
+end;
+
+function TRichTextEditFrame.GetRichText: String;
+begin
+ Result:=MText.Lines.Text;
+end;
+
+procedure TRichTextEditFrame.InsertMargin;
+
+Var
+ S: tfpgstring;
+
+begin
+ S:='5';
+ if fpgInputQuery('Insert margin','Enter the margin to be used:',S) then
+ begin
+ if StrToIntDef(S,-1)=-1 then
+ ShowMessage('Not a numerical value. The margin must be a number','Error')
+ else
+ EncloseSelection('leftmargin '+s,'');
+ end;
+end;
+
+procedure TRichTextEditFrame.InsertLink;
+
+Var
+ S: tfpgstring;
+
+begin
+ S:='';
+ if fpgInputQuery('Insert link','Enter the link target text:',S) then
+ EncloseSelection('link "'+s+'"','link');
+end;
+
+procedure TRichTextEditFrame.CheckTags;
+
+begin
+ CheckSelection(MText.Lines.Text,'text');
+ ShowMessage('All tags are correctly balanced.','Check ok');
+end;
+
+
+procedure TRichTextEditFrame.InsertFont;
+
+Var
+ S : String;
+
+begin
+ if SelectFontDialog(S) then
+ EncloseSelection('font "'+S+'"','font')
+end;
+
+procedure TRichTextEditFrame.InsertColor(Const Background : Boolean);
+
+Var
+ t : TRGBTriple;
+ s : string;
+begin
+ With TfpgColorSelectDialog.Create(nil) do
+ try
+ SelectedColor:=clBlack;
+ if ShowModal = mrOK then
+ begin
+ t:=fpgColorToRGBTriple(SelectedColor);
+ S:='color';
+ if Background then
+ S:='back'+s;
+ EncloseSelection(s+' #'+format('%.2x%.2x%.2x',[t.red,t.green,t.blue]),s);
+ end;
+ finally
+ Free;
+ end;
+end;
+
+procedure TRichTextEditFrame.InsertImage;
+
+Var
+ FN,E : String;
+ I : integer;
+
+begin
+ FN:=SelectFileDialog(sfdOpen,'Supported image files|*.png;*.jpg;*.bmp','');
+ if (FN<>'') then
+ begin
+ E:=LowerCase(ExtractFIleExt(FN));
+ i:=FImageList.Count;
+ if e='.png' then
+ FImageList.AddImage(loadimage_png(FN),i)
+ else if e='.bmp' then
+ FImageList.AddImage(loadimage_bmp(FN),i)
+ else if e='.jpg' then
+ FImageList.AddImage(loadimage_jpg(FN),i);
+ EncloseSelection('image '+intToStr(i),'');
+ FImageNames.Add(IntTostr(i)+'='+FN);
+ end;
+end;
+
+procedure TRichTextEditFrame.OnToolButton(Sender: TObject);
+
+Var
+ T : Ptruint;
+begin
+ T:=(Sender as TComponent).Tag;
+ Case T of
+ TBBold :
+ EncloseSelection('b','b');
+ TBItalic :
+ EncloseSelection('i','i');
+ TBUnderLine:
+ EncloseSelection('u','u');
+ TBH1:
+ EncloseSelection('h1','h1');
+ TBH2:
+ EncloseSelection('h2','h2');
+ TBH3:
+ EncloseSelection('h3','h3');
+ TBAlignLeft:
+ EncloseSelection('align left','');
+ TBAlignCenter:
+ EncloseSelection('align center','');
+ TBAlignRight:
+ EncloseSelection('align right','');
+ TBAlignNone:
+ EncloseSelection('unalign','');
+ TBNoWrap:
+ EncloseSelection('nowrap','nowrap');
+ TBAlignJustify:
+ ; // Not functional yet
+ TBMargin:
+ InsertMargin;
+ TBFont:
+ InsertFont;
+ TBColor,
+ TBBGColor:
+ InsertColor(TBBGColor=T);
+ tbLink:
+ InsertLink;
+ TBCheck:
+ CheckTags;
+ TBImage:
+ InsertImage;
+ end;
+end;
+
+procedure TRichTextEditFrame.SetImageNames(AValue: TStrings);
+begin
+ if FImageNames=AValue then Exit;
+ FImageNames.Assign(AValue);
+end;
+
+procedure TRichTextEditFrame.SetRichText(AValue: String);
+begin
+ MText.Lines.Text:=AValue;
+end;
+
+procedure TRichTextEditFrame.AfterCreate;
+
+ Function TBSpace(Var ALeft : Integer; AName : String) : TfpgBevel;
+
+ begin
+ Result := TfpgBevel.Create(BBar);
+ with Result do
+ begin
+ Name := AName;
+ SetPosition(ALeft, 2, 10, 24);
+ ALeft:=ALeft+10;
+ Align := alLeft;
+ Hint := '';
+ Shape := bsSpacer;
+ end;
+
+ end;
+
+ Function TBButton(Var ALeft,ATab : Integer; ATag : Integer; Const AName,AImage,AText : String) : tfpgButton;
+
+ begin
+ Result := TfpgButton.Create(BBar);
+ with Result do
+ begin
+ Name := AName;
+ SetPosition(ALeft, 2, BSize, BSize);
+ ALeft:=ALeft+BSize;
+ Align := alLeft;
+ Text := AText;
+ ImageName:=AImage;
+ Tag:=ATag;
+ FontDesc := '#Label1';
+ Hint := '';
+ ImageMargin := -1;
+ Embedded:=True;
+ Flat:=True;
+ TabOrder := ATab;
+ ATab:=ATab+1;
+ OnClick:=@OnToolButton;
+ end;
+ end;
+
+var
+ I, J, L, T: integer;
+ img: tfpgimage;
+ S: string;
+
+
+begin
+ {%region 'Auto-generated GUI code' }
+
+ {@VFD_BODY_BEGIN: MainForm}
+ Name := 'MainForm';
+ SetPosition(496, 295, 739, 502);
+ WindowTitle := 'MainForm';
+ Hint := '';
+
+ PCedit := TfpgPageControl.Create(self);
+ with PCedit do
+ begin
+ Name := 'PCedit';
+ SetPosition(0, 0, 739, 502);
+ Align := alClient;
+ Hint := '';
+ TabOrder := 1;
+ OnChange:=@DoPageChange;
+ end;
+
+ TSedit := TfpgTabSheet.Create(PCedit);
+ with TSedit do
+ begin
+ Name := 'TSedit';
+ SetPosition(3, 24, 733, 475);
+ Anchors := [anLeft,anRight,anTop,anBottom];
+ Text := 'Edit text';
+ end;
+
+ BBar := TfpgBevel.Create(TSedit);
+ with BBar do
+ begin
+ Name := 'BBar';
+ SetPosition(0, 0, 733, BSize+4);
+ Align := alTop;
+ Hint := '';
+ Shape := bsBottomLine;
+ Shape := bsBottomLine;
+ end;
+
+
+ MText := TfpgMemo.Create(TSedit);
+ with MText do
+ begin
+ Name := 'MText';
+ SetPosition(0, 28, 733, 447);
+ Align := alClient;
+ FontDesc := '#Edit1';
+ Hint := '';
+ TabOrder := 2;
+ end;
+
+ TSPreview := TfpgTabSheet.Create(PCedit);
+ with TSPreview do
+ begin
+ Name := 'TSPreview';
+ SetPosition(3, 24, 733, 475);
+ Anchors := [anLeft,anRight,anTop,anBottom];
+ Text := 'Preview';
+ end;
+
+ RTVPreview := TRichTextView.Create(TSPreview);
+ with RTVPreview do
+ begin
+ Name := 'RTVPreview';
+ SetPosition(0, 0, 735, 478);
+ Anchors := [anLeft,anRight,anTop,anBottom];
+ end;
+
+ {@VFD_BODY_END: MainForm}
+ {%endregion}
+ // Create toolbar
+ L:=2;
+ T:=0;
+ BBold:=TBButton(L,T,TBBold,'BBold',BIBold,'');
+ BItalic:=TBButton(L,T,TBItalic,'BItalic',BIItalic,'');
+ Bunderline:=TBButton(L,T,TBunderline,'BUnderline',BIUnderline,'');
+
+ BHead := TBSpace(L,'BHead');
+
+ BH1 := TBButton(L,T,TBH1,'BH1','','1');
+ BH2 := TBButton(L,T,TBH2,'BH2','','2');
+ BH3 := TBButton(L,T,TBH3,'BH3','','3');
+
+ BAligns := TBSpace(L,'BAligns');
+
+ BAleft := TBButton(L,T,TBAlignLeft,'BALeft',BIAlignLeft,'');
+ BACenter := TBButton(L,T,TBAlignCenter,'BACenter',BIAlignCenter,'');
+ BAJustified := TBButton(L,T,TBAlignJustify,'BAJustified',BIAlignJustify,'');
+ BARight := TBButton(L,T,TBAlignRight,'BARight',BIAlignRight,'');
+ BAUnaligned := TBButton(L,T,TBAlignNone,'BAUnalign',BIAlignLeft,'');
+
+ BANowrap := TBButton(L,T,TBNowrap,'BNowrap',BINoWrap,'');
+
+ BevMargin := TBSpace(L,'BevMargin');
+ BMargin := TBButton(L,T,TBMargin,'BMargin',BIMargin,'');
+
+ BFont := TBButton(L,T,TBFont,'BFont',BIFont,'');
+ BColor := TBButton(L,T,TBColor,'BColor',BIColor,'');
+ BBGColor := TBButton(L,T,TBBGColor,'BBGColor',BIBGColor,'');
+
+ BSpaceImage := TBSpace(L,'BSpaceImage');
+
+ BImage := TBButton(L,T,TBImage,'BImage',BIImage,'');
+ BLink := TBButton(L,T,TBLink,'BLink',BILink,'');
+ BCheck := TBButton(L,T,TBCheck,'BCheck',BICheck,'');
+
+ FImageList:=TfpgImageList.Create;
+ FImageNames:=TStringList.Create;
+ RTVPreview.Images:=FImageList;
+ RTVPreview.RichTextSettings.Heading1Font := fpgGetFont('Arial-18:bold');
+ RTVPreview.RichTextSettings.Heading2Font := fpgGetFont('Arial-14:bold');
+ RTVPreview.RichTextSettings.Heading3Font := fpgGetFont('Arial-12:bold');
+ RTVPreview.RichTextSettings.NormalFont := fpgGetFont(FPG_DEFAULT_FONT_DESC);
+ RTVPreview.RichTextSettings.FixedFont := fpgGetFont('Courier New-10:antialiased=true');
+
+end;
+
+Procedure RegisterStdRichTextImages;
+
+ Procedure LoadImage(const iname : string; ImageLoc : Pointer; ImageSize : Integer);
+
+ begin
+ if (fpgImages.GetImage(iname)<>Nil) then
+ fpgImages.DeleteImage(iname,true);
+ fpgImages.AddMaskedBMP(iname,ImageLoc,ImageSize,0,0)
+ end;
+
+
+{$i img_richedit.inc}
+
+begin
+ LoadImage(BIBold,@img_richedit_Bold,sizeof(img_richedit_Bold));
+ LoadImage(BIItalic,@img_richedit_italic,sizeof(img_richedit_italic));
+ LoadImage(BIunderline,@img_richedit_underlined,sizeof(img_richedit_underlined));
+ LoadImage(BIAlignLeft,@img_richedit_left,sizeof(img_richedit_left));
+ LoadImage(BIAlignCenter,@img_richedit_center,sizeof(img_richedit_center));
+ LoadImage(BIAlignRight,@img_richedit_right,sizeof(img_richedit_right));
+// LoadImage(BIAlignCenter,@img_richedit_center,sizeof(img_richedit_center));
+ LoadImage(BIAlignJustify,@img_richedit_justify,sizeof(img_richedit_justify));
+ LoadImage(BIMargin,@img_richedit_margin,sizeof(img_richedit_margin));
+ LoadImage(BIFont,@img_richedit_font,sizeof(img_richedit_font));
+ LoadImage(BIColor,@img_richedit_color,sizeof(img_richedit_color));
+ LoadImage(BIBGColor,@img_richedit_color_background,sizeof(img_richedit_color_background));
+ LoadImage(BIImage,@img_richedit_image,sizeof(img_richedit_image));
+ LoadImage(BINowrap,@img_richedit_nowrap,sizeof(img_richedit_nowrap));
+ LoadImage(BILink,@img_richedit_hyperlink,sizeof(img_richedit_hyperlink));
+ LoadImage(BICheck,@img_richedit_check,sizeof(img_richedit_check));
+end;
+
+Procedure RegisterRichTextImages(ADir : String);
+
+ Procedure LoadImage(const iname,ifile : string);
+
+ Var
+ fn : string;
+ img : TfpgImage;
+
+ begin
+ fn:=ADir+ifile+'.bmp';
+ if FileExists(fn) then
+ begin
+ if (fpgImages.GetImage(iname)<>Nil) then
+ fpgImages.DeleteImage(iname,true);
+ img:=LoadImage_BMP(fn);
+ img.CreateMaskFromSample(0,0);
+ img.UpdateImage;
+ fpgImages.AddImage(iname,img);
+ end
+ else
+ ShowMessage(iname+' : file does not exist : '+ifile);
+ end;
+
+begin
+ ADir:=IncludeTrailingPathDelimiter(ADir);
+ LoadImage(BIBold,BFNBold);
+ LoadImage(BIItalic,BFNItalic);
+ LoadImage(BIunderline,BFNUnderLine);
+// BH1.ImageName:=BIH1;
+// BH2.ImageName:=BIH2;
+// BH3.ImageName:=BIH3;
+ LoadImage(BIAlignLeft,BFNAlignLeft);
+ LoadImage(BIAlignCenter,BFNAlignCenter);
+ LoadImage(BIAlignRight,BFNAlignRight);
+ LoadImage(BIAlignCenter,BFNAlignCenter);
+ LoadImage(BIAlignJustify,BFNAlignJustify);
+ // BIAlignJustify = 11;
+ LoadImage(BIMargin,BFNMargin);
+ LoadImage(BIFont,BFNFont);
+ LoadImage(BIColor,BFNColor);
+ LoadImage(BIBGColor,BFNBGColor);
+ LoadImage(BIImage,BFNImage);
+ LoadImage(BINowrap,BFNNowrap);
+ LoadImage(BILink,BFNLink);
+ LoadImage(BICheck,BFNCheck);
+
+end;
+
+end.
+
diff --git a/docview/components/richtext/testedit/images/bold.bmp b/docview/components/richtext/testedit/images/bold.bmp
new file mode 100644
index 00000000..edb1ada1
--- /dev/null
+++ b/docview/components/richtext/testedit/images/bold.bmp
Binary files differ
diff --git a/docview/components/richtext/testedit/images/bold.jpg b/docview/components/richtext/testedit/images/bold.jpg
new file mode 100644
index 00000000..38adff11
--- /dev/null
+++ b/docview/components/richtext/testedit/images/bold.jpg
Binary files differ
diff --git a/docview/components/richtext/testedit/images/bold.png b/docview/components/richtext/testedit/images/bold.png
new file mode 100644
index 00000000..d12c5710
--- /dev/null
+++ b/docview/components/richtext/testedit/images/bold.png
Binary files differ
diff --git a/docview/components/richtext/testedit/images/center.bmp b/docview/components/richtext/testedit/images/center.bmp
new file mode 100644
index 00000000..b707a3f5
--- /dev/null
+++ b/docview/components/richtext/testedit/images/center.bmp
Binary files differ
diff --git a/docview/components/richtext/testedit/images/center.jpg b/docview/components/richtext/testedit/images/center.jpg
new file mode 100644
index 00000000..59389ae1
--- /dev/null
+++ b/docview/components/richtext/testedit/images/center.jpg
Binary files differ
diff --git a/docview/components/richtext/testedit/images/center.png b/docview/components/richtext/testedit/images/center.png
new file mode 100644
index 00000000..ce2b28d1
--- /dev/null
+++ b/docview/components/richtext/testedit/images/center.png
Binary files differ
diff --git a/docview/components/richtext/testedit/images/check.bmp b/docview/components/richtext/testedit/images/check.bmp
new file mode 100644
index 00000000..b8c31165
--- /dev/null
+++ b/docview/components/richtext/testedit/images/check.bmp
Binary files differ
diff --git a/docview/components/richtext/testedit/images/check.png b/docview/components/richtext/testedit/images/check.png
new file mode 100644
index 00000000..a7787a99
--- /dev/null
+++ b/docview/components/richtext/testedit/images/check.png
Binary files differ
diff --git a/docview/components/richtext/testedit/images/color.bmp b/docview/components/richtext/testedit/images/color.bmp
new file mode 100644
index 00000000..49e10a23
--- /dev/null
+++ b/docview/components/richtext/testedit/images/color.bmp
Binary files differ
diff --git a/docview/components/richtext/testedit/images/color.jpg b/docview/components/richtext/testedit/images/color.jpg
new file mode 100644
index 00000000..4b91026a
--- /dev/null
+++ b/docview/components/richtext/testedit/images/color.jpg
Binary files differ
diff --git a/docview/components/richtext/testedit/images/color.png b/docview/components/richtext/testedit/images/color.png
new file mode 100644
index 00000000..95ceccfd
--- /dev/null
+++ b/docview/components/richtext/testedit/images/color.png
Binary files differ
diff --git a/docview/components/richtext/testedit/images/color_background.bmp b/docview/components/richtext/testedit/images/color_background.bmp
new file mode 100644
index 00000000..dba0b6b0
--- /dev/null
+++ b/docview/components/richtext/testedit/images/color_background.bmp
Binary files differ
diff --git a/docview/components/richtext/testedit/images/color_background.jpg b/docview/components/richtext/testedit/images/color_background.jpg
new file mode 100644
index 00000000..72512e4a
--- /dev/null
+++ b/docview/components/richtext/testedit/images/color_background.jpg
Binary files differ
diff --git a/docview/components/richtext/testedit/images/color_background.png b/docview/components/richtext/testedit/images/color_background.png
new file mode 100644
index 00000000..bba39fc2
--- /dev/null
+++ b/docview/components/richtext/testedit/images/color_background.png
Binary files differ
diff --git a/docview/components/richtext/testedit/images/font.bmp b/docview/components/richtext/testedit/images/font.bmp
new file mode 100644
index 00000000..37146e6d
--- /dev/null
+++ b/docview/components/richtext/testedit/images/font.bmp
Binary files differ
diff --git a/docview/components/richtext/testedit/images/font.jpg b/docview/components/richtext/testedit/images/font.jpg
new file mode 100644
index 00000000..0c9eb4f3
--- /dev/null
+++ b/docview/components/richtext/testedit/images/font.jpg
Binary files differ
diff --git a/docview/components/richtext/testedit/images/font.png b/docview/components/richtext/testedit/images/font.png
new file mode 100644
index 00000000..d250478d
--- /dev/null
+++ b/docview/components/richtext/testedit/images/font.png
Binary files differ
diff --git a/docview/components/richtext/testedit/images/hyperlink.bmp b/docview/components/richtext/testedit/images/hyperlink.bmp
new file mode 100644
index 00000000..82443df2
--- /dev/null
+++ b/docview/components/richtext/testedit/images/hyperlink.bmp
Binary files differ
diff --git a/docview/components/richtext/testedit/images/hyperlink.jpg b/docview/components/richtext/testedit/images/hyperlink.jpg
new file mode 100644
index 00000000..c2dd4fa8
--- /dev/null
+++ b/docview/components/richtext/testedit/images/hyperlink.jpg
Binary files differ
diff --git a/docview/components/richtext/testedit/images/hyperlink.png b/docview/components/richtext/testedit/images/hyperlink.png
new file mode 100644
index 00000000..c102771d
--- /dev/null
+++ b/docview/components/richtext/testedit/images/hyperlink.png
Binary files differ
diff --git a/docview/components/richtext/testedit/images/image.bmp b/docview/components/richtext/testedit/images/image.bmp
new file mode 100644
index 00000000..007004a9
--- /dev/null
+++ b/docview/components/richtext/testedit/images/image.bmp
Binary files differ
diff --git a/docview/components/richtext/testedit/images/image.jpg b/docview/components/richtext/testedit/images/image.jpg
new file mode 100644
index 00000000..92a98073
--- /dev/null
+++ b/docview/components/richtext/testedit/images/image.jpg
Binary files differ
diff --git a/docview/components/richtext/testedit/images/image.png b/docview/components/richtext/testedit/images/image.png
new file mode 100644
index 00000000..9bcb9274
--- /dev/null
+++ b/docview/components/richtext/testedit/images/image.png
Binary files differ
diff --git a/docview/components/richtext/testedit/images/italic.bmp b/docview/components/richtext/testedit/images/italic.bmp
new file mode 100644
index 00000000..70760626
--- /dev/null
+++ b/docview/components/richtext/testedit/images/italic.bmp
Binary files differ
diff --git a/docview/components/richtext/testedit/images/italic.jpg b/docview/components/richtext/testedit/images/italic.jpg
new file mode 100644
index 00000000..d04a8a68
--- /dev/null
+++ b/docview/components/richtext/testedit/images/italic.jpg
Binary files differ
diff --git a/docview/components/richtext/testedit/images/italic.png b/docview/components/richtext/testedit/images/italic.png
new file mode 100644
index 00000000..f4ecd0dd
--- /dev/null
+++ b/docview/components/richtext/testedit/images/italic.png
Binary files differ
diff --git a/docview/components/richtext/testedit/images/justify.bmp b/docview/components/richtext/testedit/images/justify.bmp
new file mode 100644
index 00000000..98d3f8b9
--- /dev/null
+++ b/docview/components/richtext/testedit/images/justify.bmp
Binary files differ
diff --git a/docview/components/richtext/testedit/images/justify.jpg b/docview/components/richtext/testedit/images/justify.jpg
new file mode 100644
index 00000000..6c21551a
--- /dev/null
+++ b/docview/components/richtext/testedit/images/justify.jpg
Binary files differ
diff --git a/docview/components/richtext/testedit/images/justify.png b/docview/components/richtext/testedit/images/justify.png
new file mode 100644
index 00000000..0cf96ed6
--- /dev/null
+++ b/docview/components/richtext/testedit/images/justify.png
Binary files differ
diff --git a/docview/components/richtext/testedit/images/left.bmp b/docview/components/richtext/testedit/images/left.bmp
new file mode 100644
index 00000000..b8521e2e
--- /dev/null
+++ b/docview/components/richtext/testedit/images/left.bmp
Binary files differ
diff --git a/docview/components/richtext/testedit/images/left.jpg b/docview/components/richtext/testedit/images/left.jpg
new file mode 100644
index 00000000..11790950
--- /dev/null
+++ b/docview/components/richtext/testedit/images/left.jpg
Binary files differ
diff --git a/docview/components/richtext/testedit/images/left.png b/docview/components/richtext/testedit/images/left.png
new file mode 100644
index 00000000..8a86f1f8
--- /dev/null
+++ b/docview/components/richtext/testedit/images/left.png
Binary files differ
diff --git a/docview/components/richtext/testedit/images/margin.bmp b/docview/components/richtext/testedit/images/margin.bmp
new file mode 100644
index 00000000..efe55071
--- /dev/null
+++ b/docview/components/richtext/testedit/images/margin.bmp
Binary files differ
diff --git a/docview/components/richtext/testedit/images/margin.jpg b/docview/components/richtext/testedit/images/margin.jpg
new file mode 100644
index 00000000..21d87624
--- /dev/null
+++ b/docview/components/richtext/testedit/images/margin.jpg
Binary files differ
diff --git a/docview/components/richtext/testedit/images/margin.png b/docview/components/richtext/testedit/images/margin.png
new file mode 100644
index 00000000..cbca4d62
--- /dev/null
+++ b/docview/components/richtext/testedit/images/margin.png
Binary files differ
diff --git a/docview/components/richtext/testedit/images/nowrap.bmp b/docview/components/richtext/testedit/images/nowrap.bmp
new file mode 100644
index 00000000..af3ed35f
--- /dev/null
+++ b/docview/components/richtext/testedit/images/nowrap.bmp
Binary files differ
diff --git a/docview/components/richtext/testedit/images/nowrap.jpg b/docview/components/richtext/testedit/images/nowrap.jpg
new file mode 100644
index 00000000..76f803fb
--- /dev/null
+++ b/docview/components/richtext/testedit/images/nowrap.jpg
Binary files differ
diff --git a/docview/components/richtext/testedit/images/nowrap.png b/docview/components/richtext/testedit/images/nowrap.png
new file mode 100644
index 00000000..b3ba2fd5
--- /dev/null
+++ b/docview/components/richtext/testedit/images/nowrap.png
Binary files differ
diff --git a/docview/components/richtext/testedit/images/right.bmp b/docview/components/richtext/testedit/images/right.bmp
new file mode 100644
index 00000000..a2ae1f6c
--- /dev/null
+++ b/docview/components/richtext/testedit/images/right.bmp
Binary files differ
diff --git a/docview/components/richtext/testedit/images/right.jpg b/docview/components/richtext/testedit/images/right.jpg
new file mode 100644
index 00000000..e4b7508c
--- /dev/null
+++ b/docview/components/richtext/testedit/images/right.jpg
Binary files differ
diff --git a/docview/components/richtext/testedit/images/right.png b/docview/components/richtext/testedit/images/right.png
new file mode 100644
index 00000000..be5cfd28
--- /dev/null
+++ b/docview/components/richtext/testedit/images/right.png
Binary files differ
diff --git a/docview/components/richtext/testedit/images/underlined.bmp b/docview/components/richtext/testedit/images/underlined.bmp
new file mode 100644
index 00000000..182ff5ac
--- /dev/null
+++ b/docview/components/richtext/testedit/images/underlined.bmp
Binary files differ
diff --git a/docview/components/richtext/testedit/images/underlined.jpg b/docview/components/richtext/testedit/images/underlined.jpg
new file mode 100644
index 00000000..cafa162b
--- /dev/null
+++ b/docview/components/richtext/testedit/images/underlined.jpg
Binary files differ
diff --git a/docview/components/richtext/testedit/images/underlined.png b/docview/components/richtext/testedit/images/underlined.png
new file mode 100644
index 00000000..db07038f
--- /dev/null
+++ b/docview/components/richtext/testedit/images/underlined.png
Binary files differ
diff --git a/docview/components/richtext/testedit/img_richedit.inc b/docview/components/richtext/testedit/img_richedit.inc
new file mode 100644
index 00000000..8e5cb5d8
--- /dev/null
+++ b/docview/components/richtext/testedit/img_richedit.inc
@@ -0,0 +1,1616 @@
+
+const
+ img_richedit_bold: array[0..1781] of byte = (
+ 66, 77,246, 6, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0,
+ 0, 24, 0, 0, 0, 24, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0,
+ 192, 6, 0, 0, 19, 11, 0, 0, 19, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,201,201,201,237,237,237,248,248,248,245,245,245,
+ 246,246,246,247,247,247,248,248,248,248,248,248,249,249,249,250,250,
+ 250,251,251,251,252,252,252,253,253,253,254,254,254,255,255,255,255,
+ 255,255,255,255,255,255,255,255,238,238,238,189,189,189,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,246,246,246,247,247,247,248,
+ 248,248,249,249,249,250,250,250,251,251,251,252,252,252,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,236,236,
+ 236,255, 0,255,255, 0,255,255, 0,255,255, 0,255,248,248,248,241,
+ 241,241,242,242,242,243,243,243,244,244,244,244,244,244,245,245,245,
+ 246,246,246,247,247,247,248,248,248,249,249,249,250,250,250,251,251,
+ 251,252,252,252,253,253,253,253,253,253,254,254,254,255,255,255,255,
+ 255,255,255,255,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 248,248,248,240,240,240,241,241,241, 44, 44, 44, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,191,191,191,246,246,246,247,247,247,248,248,248,249,
+ 249,249,170,170,170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 46, 46,
+ 254,254,254,255,255,255,255,255,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,247,247,247,238,238,238,239,239,239,133,133,133, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,113,113,113,244,244,244,245,245,245,
+ 246,246,246,247,247,247, 89, 89, 89, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,140,140,140,252,252,252,253,253,253,254,254,254,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,247,247,247,237,237,237,237,237,237,
+ 217,217,217, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 3, 3, 3,228,228,228,251,251,251,252,252,252,253,253,253,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,246,246,246,235,235,
+ 235,236,236,236,237,237,237, 70, 70, 70, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 74, 74, 74,249,249,249,250,250,250,251,251,
+ 251,252,252,252,255, 0,255,255, 0,255,255, 0,255,255, 0,255,245,
+ 245,245,234,234,234,235,235,235,236,236,236,158,158,158, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 76, 76, 76,242,242,242,242,242,242, 57, 57,
+ 57, 0, 0, 0, 0, 0, 0, 0, 0, 0,166,166,166,248,248,248,249,
+ 249,249,250,250,250,250,250,250,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,245,245,245,233,233,233,234,234,234,235,235,235,229,229,
+ 229, 15, 15, 15, 0, 0, 0, 0, 0, 0, 15, 15, 15,237,237,237,228,
+ 228,228, 3, 3, 3, 0, 0, 0, 0, 0, 0, 17, 17, 17,240,240,240,
+ 247,247,247,248,248,248,248,248,248,249,249,249,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,245,245,245,232,232,232,233,233,233,234,
+ 234,234,235,235,235, 97, 97, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 187,187,187,166,166,166, 0, 0, 0, 0, 0, 0, 0, 0, 0,101,101,
+ 101,245,245,245,246,246,246,247,247,247,247,247,247,248,248,248,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,244,231,231,231,
+ 232,232,232,233,233,233,234,234,234,184,184,184, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,122,122,122,100,100,100, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,191,191,191,244,244,244,245,245,245,245,245,245,246,246,246,
+ 247,247,247,255, 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,
+ 244,230,230,230,231,231,231,232,232,232,233,233,233,234,234,234, 35,
+ 35, 35, 0, 0, 0, 0, 0, 0, 57, 57, 57, 35, 35, 35, 0, 0, 0,
+ 0, 0, 0, 37, 37, 37,242,242,242,243,243,243,243,243,243,244,244,
+ 244,245,245,245,246,246,246,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,243,243,243,229,229,229,230,230,230,231,231,231,232,232,232,
+ 233,233,233,122,122,122, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,127,127,127,241,241,241,241,241,241,242,
+ 242,242,243,243,243,244,244,244,245,245,245,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,243,243,243,228,228,228,229,229,229,230,230,
+ 230,231,231,231,231,231,231,206,206,206, 1, 1, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,213,213,213,239,239,239,
+ 240,240,240,241,241,241,242,242,242,243,243,243,244,244,244,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,243,243,243,227,227,227,228,
+ 228,228,229,229,229,229,229,229,230,230,230,231,231,231, 61, 61, 61,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64, 64,237,237,
+ 237,238,238,238,239,239,239,240,240,240,241,241,241,242,242,242,243,
+ 243,243,255, 0,255,255, 0,255,255, 0,255,255, 0,255,242,242,242,
+ 226,226,226,227,227,227,227,227,227,228,228,228,229,229,229,230,230,
+ 230,147,147,147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,151,
+ 151,151,236,236,236,237,237,237,238,238,238,239,239,239,240,240,240,
+ 241,241,241,242,242,242,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,242,242,242,225,225,225,225,225,225,226,226,226,227,227,227,228,
+ 228,228,229,229,229,230,230,230,231,231,231,232,232,232,233,233,233,
+ 234,234,234,234,234,234,235,235,235,236,236,236,237,237,237,238,238,
+ 238,239,239,239,240,240,240,241,241,241,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,240,240,240,224,224,224,224,224,224,225,225,225,
+ 226,226,226,227,227,227,228,228,228,229,229,229,230,230,230,231,231,
+ 231,232,232,232,232,232,232,233,233,233,234,234,234,235,235,235,236,
+ 236,236,237,237,237,238,238,238,239,239,239,237,237,237,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,226,226,226,242,242,242,242,242,
+ 242,242,242,242,242,242,242,243,243,243,243,243,243,243,243,243,244,
+ 244,244,244,244,244,244,244,244,245,245,245,245,245,245,245,245,245,
+ 246,246,246,246,246,246,247,247,247,247,247,247,244,244,244,219,219,
+ 219,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255);
+{/home/michael/reader/center.bmp}
+const
+ img_richedit_center: array[0..1781] of byte = (
+ 66, 77,246, 6, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0,
+ 0, 24, 0, 0, 0, 24, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0,
+ 192, 6, 0, 0, 19, 11, 0, 0, 19, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,201,201,201,237,237,237,248,248,248,245,245,245,
+ 246,246,246,247,247,247,248,248,248,248,248,248,249,249,249,250,250,
+ 250,251,251,251,252,252,252,253,253,253,254,254,254,255,255,255,255,
+ 255,255,255,255,255,255,255,255,238,238,238,189,189,189,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,246,246,246,247,247,247,248,
+ 248,248,249,249,249,250,250,250,251,251,251,252,252,252,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,236,236,
+ 236,255, 0,255,255, 0,255,255, 0,255,255, 0,255,248,248,248,241,
+ 241,241,242,242,242,144,144,144,145,145,145,145,145,145,146,146,146,
+ 146,146,146,147,147,147,147,147,147,148,148,148,149,149,149,149,149,
+ 149,150,150,150,150,150,150,150,150,150,151,151,151,255,255,255,255,
+ 255,255,255,255,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 248,248,248,240,240,240,241,241,241,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,247,247,247,248,248,248,249,
+ 249,249,250,250,250,251,251,251,251,251,251,252,252,252,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,247,247,247,238,238,238,239,239,239,239,239,239,240,
+ 240,240,241,241,241,242,242,242,144,144,144,145,145,145,146,146,146,
+ 146,146,146,147,147,147,147,147,147,248,248,248,249,249,249,250,250,
+ 250,251,251,251,252,252,252,253,253,253,254,254,254,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,247,247,247,237,237,237,237,237,237,
+ 238,238,238,239,239,239,240,240,240,241,241,241,242,242,242,243,243,
+ 243,244,244,244,245,245,245,245,245,245,246,246,246,247,247,247,248,
+ 248,248,249,249,249,250,250,250,251,251,251,252,252,252,253,253,253,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,246,246,246,235,235,
+ 235,236,236,236,237,237,237,238,238,238,142,142,142,143,143,143,143,
+ 143,143,144,144,144,144,144,144,145,145,145,145,145,145,146,146,146,
+ 146,146,146,147,147,147,248,248,248,249,249,249,250,250,250,251,251,
+ 251,252,252,252,255, 0,255,255, 0,255,255, 0,255,255, 0,255,245,
+ 245,245,234,234,234,235,235,235,236,236,236,237,237,237,238,238,238,
+ 239,239,239,240,240,240,241,241,241,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,247,247,247,248,248,248,249,
+ 249,249,250,250,250,250,250,250,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,245,245,245,233,233,233,234,234,234,235,235,235,236,236,
+ 236,237,237,237,238,238,238,239,239,239,143,143,143,143,143,143,143,
+ 143,143,144,144,144,243,243,243,244,244,244,245,245,245,246,246,246,
+ 247,247,247,248,248,248,248,248,248,249,249,249,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,245,245,245,232,232,232,233,233,233,234,
+ 234,234,235,235,235,236,236,236,237,237,237,238,238,238,238,238,238,
+ 239,239,239,240,240,240,241,241,241,242,242,242,243,243,243,244,244,
+ 244,245,245,245,246,246,246,247,247,247,247,247,247,248,248,248,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,244,231,231,231,
+ 232,232,232,138,138,138,139,139,139,140,140,140,140,140,140,140,140,
+ 140,141,141,141,141,141,141,142,142,142,143,143,143,143,143,143,144,
+ 144,144,144,144,144,145,145,145,146,146,146,245,245,245,246,246,246,
+ 247,247,247,255, 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,
+ 244,230,230,230,231,231,231,232,232,232,233,233,233,234,234,234,234,
+ 234,234,235,235,235,236,236,236,237,237,237,238,238,238,239,239,239,
+ 240,240,240,241,241,241,242,242,242,243,243,243,243,243,243,244,244,
+ 244,245,245,245,246,246,246,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,243,243,243,229,229,229,230,230,230,231,231,231,232,232,232,
+ 138,138,138,138,138,138,139,139,139,140,140,140,140,140,140,141,141,
+ 141,141,141,141,142,142,142,143,143,143,143,143,143,241,241,241,242,
+ 242,242,243,243,243,244,244,244,245,245,245,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,243,243,243,228,228,228,229,229,229,230,230,
+ 230,231,231,231,231,231,231,232,232,232,233,233,233,234,234,234,235,
+ 235,235,236,236,236,237,237,237,238,238,238,239,239,239,239,239,239,
+ 240,240,240,241,241,241,242,242,242,243,243,243,244,244,244,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,243,243,243,227,227,227,228,
+ 228,228,229,229,229,229,229,229,230,230,230,231,231,231,138,138,138,
+ 138,138,138,139,139,139,140,140,140,140,140,140,141,141,141,237,237,
+ 237,238,238,238,239,239,239,240,240,240,241,241,241,242,242,242,243,
+ 243,243,255, 0,255,255, 0,255,255, 0,255,255, 0,255,242,242,242,
+ 226,226,226,227,227,227,227,227,227,228,228,228,229,229,229,230,230,
+ 230,231,231,231,232,232,232,233,233,233,234,234,234,235,235,235,236,
+ 236,236,236,236,236,237,237,237,238,238,238,239,239,239,240,240,240,
+ 241,241,241,242,242,242,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,242,242,242,225,225,225,225,225,225,134,134,134,135,135,135,135,
+ 135,135,136,136,136,137,137,137,137,137,137,138,138,138,138,138,138,
+ 139,139,139,139,139,139,140,140,140,140,140,140,141,141,141,141,141,
+ 141,239,239,239,240,240,240,241,241,241,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,240,240,240,224,224,224,224,224,224,225,225,225,
+ 226,226,226,227,227,227,228,228,228,229,229,229,230,230,230,231,231,
+ 231,232,232,232,232,232,232,233,233,233,234,234,234,235,235,235,236,
+ 236,236,237,237,237,238,238,238,239,239,239,237,237,237,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,226,226,226,242,242,242,242,242,
+ 242,242,242,242,242,242,242,243,243,243,243,243,243,243,243,243,244,
+ 244,244,244,244,244,244,244,244,245,245,245,245,245,245,245,245,245,
+ 246,246,246,246,246,246,247,247,247,247,247,247,244,244,244,219,219,
+ 219,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255);
+{ home/michael/reader/check.bmp }
+const
+ img_richedit_check: array[0..1781] of byte = (
+ 66, 77,246, 6, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0,
+ 0, 24, 0, 0, 0, 24, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0,
+ 192, 6, 0, 0, 18, 11, 0, 0, 18, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,191, 0,191,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 0,248,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255, 0, 0, 0,104,136,107, 70, 92, 72, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255, 0, 0, 0, 0, 0, 0,136,186,137,104,136,107, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,243, 0,243,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255, 0, 0, 0,157,195,157,123,177,125,
+ 104,163,107, 70, 92, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255, 0, 0, 0, 0, 0, 0,186,214,
+ 187,129,184,130,116,175,117,104,136,107, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,243, 0,243,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 0, 0, 0,157,
+ 197,159,146,190,147,181,209,181,104,175,103, 97,162, 99, 85,112, 88,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 0, 0, 0,
+ 0, 0, 0,184,214,184, 89,145, 91, 0, 0, 0,212,228,212,103,175,
+ 103, 91,144, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0,243, 0,243,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255, 0, 0, 0,166,203,168,108,157,109, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,208,228,208,111,175,111, 85,112, 88, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255, 0, 0, 0, 19, 44, 19,118,166,119, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 45, 45, 45,203,223,203,110,174,111, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,243, 0,243,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255, 0, 0, 0,136,186,138, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,180,
+ 213,180,112,167,112, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,172,208,171, 26, 59, 26, 0, 0, 0, 0, 0,
+ 0,114, 0,114,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,221, 0,221, 0, 0, 0,140,187,139, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255,255, 0,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,235, 0,235,255, 0,255, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,255, 0,255,255, 0,255, 0, 0, 0,255, 0,255,255, 0,255,255,
+ 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255,255,
+ 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 255, 0,255,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255);
+{ /home/michael/reader/color.bmp}
+const
+ img_richedit_color: array[0..1781] of byte = (
+ 66, 77,246, 6, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0,
+ 0, 24, 0, 0, 0, 24, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0,
+ 192, 6, 0, 0, 18, 11, 0, 0, 18, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,201,201,201,237,237,237,248,248,248,245,245,245,
+ 246,246,246,247,247,247,248,248,248,248,248,248,249,249,249,250,250,
+ 250,251,251,251,252,252,252,253,253,253,254,254,254,255,255,255,255,
+ 255,255,255,255,255,255,255,255,238,238,238,189,189,189,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,246,246,246,247,247,247,248,
+ 248,248,249,249,249,250,250,250,251,251,251,252,252,252,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,236,236,
+ 236,255, 0,255,255, 0,255,255, 0,255,255, 0,255,248,248,248,241,
+ 241,241,242,242,242,140,117, 95,108, 78, 49,108, 78, 49,219,214,208,
+ 246,246,246,247,247,247,248,248,248,249,249,249,250,250,250,250,250,
+ 250,126,100, 75,108, 78, 49,111, 82, 54,242,240,237,255,255,255,255,
+ 255,255,255,255,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 248,248,248,240,240,240,241,241,241,193,182,171,108, 78, 49,108, 78,
+ 49,172,156,140,245,245,245,246,246,246,247,247,247,248,248,248,249,
+ 249,249,216,209,202,108, 78, 49,108, 78, 49,157,138,119,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,247,247,247,238,238,238,239,239,239,234,233,232,116,
+ 88, 60,108, 78, 49,125, 99, 73,243,243,243,244,244,244,245,245,245,
+ 246,246,246,247,247,247,163,145,128,108, 78, 49,108, 78, 49,213,206,
+ 198,251,251,251,252,252,252,253,253,253,254,254,254,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,247,247,247,237,237,237,237,237,237,
+ 238,238,238,163,146,129,108, 78, 49,108, 78, 49,113, 85, 57,113, 85,
+ 57,113, 85, 57,113, 85, 57,113, 85, 57,109, 79, 50,108, 78, 49,128,
+ 102, 77,248,248,248,250,250,250,251,251,251,252,252,252,253,253,253,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,246,246,246,235,235,
+ 235,236,236,236,237,237,237,214,209,203,108, 78, 49,108, 78, 49,108,
+ 78, 49,108, 78, 49,108, 78, 49,108, 78, 49,108, 78, 49,108, 78, 49,
+ 108, 78, 49,182,168,155,248,248,248,249,249,249,250,250,250,251,251,
+ 251,252,252,252,255, 0,255,255, 0,255,255, 0,255,255, 0,255,245,
+ 245,245,234,234,234,235,235,235,236,236,236,237,237,237,135,111, 88,
+ 108, 78, 49,114, 86, 58,226,223,219,229,226,223,229,226,223,141,118,
+ 96,108, 78, 49,110, 81, 52,234,231,229,247,247,247,248,248,248,249,
+ 249,249,250,250,250,250,250,250,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,245,245,245,233,233,233,234,234,234,235,235,235,236,236,
+ 236,185,174,162,108, 78, 49,108, 78, 49,204,196,188,240,240,240,233,
+ 231,229,111, 81, 53,108, 78, 49,152,132,113,245,245,245,246,246,246,
+ 247,247,247,248,248,248,248,248,248,249,249,249,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,245,245,245,232,232,232,233,233,233,234,
+ 234,234,235,235,235,229,228,227,114, 85, 57,108, 78, 49,160,142,124,
+ 239,239,239,192,181,171,108, 78, 49,108, 78, 49,206,198,190,244,244,
+ 244,245,245,245,246,246,246,247,247,247,247,247,247,248,248,248,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,244,231,231,231,
+ 232,232,232,233,233,233,234,234,234,235,235,235,158,139,122,108, 78,
+ 49,119, 91, 65,236,236,236,149,128,108,108, 78, 49,125, 99, 73,241,
+ 241,241,243,243,243,244,244,244,245,245,245,245,245,245,246,246,246,
+ 247,247,247,255, 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,
+ 244,230,230,230,231,231,231,232,232,232,233,233,233,234,234,234,207,
+ 200,194,108, 78, 49,108, 78, 49,199,190,181,112, 83, 55,108, 78, 49,
+ 176,162,148,241,241,241,242,242,242,243,243,243,243,243,243,244,244,
+ 244,245,245,245,246,246,246,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,243,243,243,229,229,229,230,230,230,231,231,231,232,232,232,
+ 233,233,233,233,233,233,130,106, 82,108, 78, 49,125, 99, 73,108, 78,
+ 49,110, 80, 51,226,223,221,240,240,240,241,241,241,241,241,241,242,
+ 242,242,243,243,243,244,244,244,245,245,245,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,243,243,243,228,228,228,229,229,229,230,230,
+ 230,231,231,231,231,231,231,232,232,232,179,166,154,108, 78, 49,108,
+ 78, 49,108, 78, 49,148,127,107,238,238,238,239,239,239,239,239,239,
+ 240,240,240,241,241,241,242,242,242,243,243,243,244,244,244,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,243,243,243,227,227,227,228,
+ 228,228,229,229,229,229,229,229,230,230,230,231,231,231,223,221,219,
+ 111, 82, 54,108, 78, 49,108, 78, 49,199,190,182,237,237,237,237,237,
+ 237,238,238,238,239,239,239,240,240,240,241,241,241,242,242,242,243,
+ 243,243,255, 0,255,255, 0,255,255, 0,255,255, 0,255,242,242,242,
+ 226,226,226,227,227,227,227,227,227,228,228,228,229,229,229,230,230,
+ 230,231,231,231,152,133,115,108, 78, 49,122, 96, 70,234,233,233,236,
+ 236,236,236,236,236,237,237,237,238,238,238,239,239,239,240,240,240,
+ 241,241,241,242,242,242,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,242,242,242,225,225,225,225,225,225,226,226,226,227,227,227,228,
+ 228,228,229,229,229,230,230,230,201,193,186,108, 78, 49,171,156,142,
+ 234,234,234,234,234,234,235,235,235,236,236,236,237,237,237,238,238,
+ 238,239,239,239,240,240,240,241,241,241,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,240,240,240,224,224,224,224,224,224,225,225,225,
+ 226,226,226,227,227,227,228,228,228,229,229,229,230,230,230,202,195,
+ 188,225,223,221,232,232,232,233,233,233,234,234,234,235,235,235,236,
+ 236,236,237,237,237,238,238,238,239,239,239,237,237,237,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,226,226,226,242,242,242,242,242,
+ 242,242,242,242,242,242,242,243,243,243,243,243,243,243,243,243,244,
+ 244,244,244,244,244,244,244,244,245,245,245,245,245,245,245,245,245,
+ 246,246,246,246,246,246,247,247,247,247,247,247,244,244,244,219,219,
+ 219,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255);
+{ home/michael/reader/color_background.bmp }
+const
+ img_richedit_color_background: array[0..1781] of byte = (
+ 66, 77,246, 6, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0,
+ 0, 24, 0, 0, 0, 24, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0,
+ 192, 6, 0, 0, 18, 11, 0, 0, 18, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,181,153,125,206,177,149,213,185,156,211,183,154,
+ 212,184,155,213,184,155,213,185,156,213,185,156,214,186,157,215,186,
+ 158,215,187,158,216,188,159,217,188,159,217,188,160,217,189,161,217,
+ 189,161,217,189,161,217,189,161,207,178,150,172,144,118,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,209,181,152,209,181,152,210,181,
+ 153,210,182,154,211,183,154,212,184,155,212,184,155,213,184,155,213,
+ 185,156,214,186,157,215,186,158,215,187,158,216,188,159,217,188,159,
+ 217,188,160,217,189,161,217,189,161,217,189,161,217,189,161,205,176,
+ 148,255, 0,255,255, 0,255,255, 0,255,255, 0,255,213,185,156,208,
+ 180,152,209,181,152, 50, 43, 36, 0, 0, 0, 0, 0, 0,172,149,125,
+ 212,184,155,213,184,155,213,185,156,214,186,157,215,186,158,214,186,
+ 157, 27, 24, 20, 0, 0, 0, 5, 5, 4,199,173,147,217,189,161,217,
+ 189,161,217,189,161,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 213,185,156,208,180,151,208,180,152,132,114, 96, 0, 0, 0, 0, 0,
+ 0, 98, 85, 72,211,183,154,212,184,155,213,184,155,213,185,156,214,
+ 186,157,164,142,120, 0, 0, 0, 0, 0, 0, 74, 64, 54,217,188,159,
+ 217,188,160,217,189,161,217,189,161,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,213,184,155,207,178,150,208,179,151,200,172,145, 13,
+ 11, 9, 0, 0, 0, 27, 23, 19,210,181,153,210,182,154,211,183,154,
+ 212,184,155,213,184,155, 85, 73, 62, 0, 0, 0, 0, 0, 0,160,138,
+ 117,215,187,158,216,188,159,217,188,159,217,188,160,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,213,184,155,206,177,149,206,177,149,
+ 207,178,150, 88, 75, 63, 0, 0, 0, 0, 0, 0, 9, 7, 6, 9, 7,
+ 6, 9, 7, 6, 9, 7, 6, 9, 7, 6, 1, 1, 1, 0, 0, 0, 30,
+ 26, 22,213,185,156,215,186,158,215,187,158,216,188,159,217,188,159,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,212,184,155,204,176,
+ 148,205,176,148,206,177,149,169,145,122, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,114, 98, 83,213,185,156,214,186,157,215,186,158,215,187,
+ 158,216,188,159,255, 0,255,255, 0,255,255, 0,255,255, 0,255,211,
+ 183,154,204,175,147,204,176,148,205,176,148,206,177,149, 43, 36, 31,
+ 0, 0, 0, 10, 9, 7,185,160,135,189,163,137,189,163,137, 51, 44,
+ 37, 0, 0, 0, 4, 3, 3,193,168,141,213,184,155,213,185,156,214,
+ 186,157,215,186,158,215,186,158,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,211,183,154,204,175,146,204,175,147,204,176,148,205,176,
+ 148,124,106, 89, 0, 0, 0, 0, 0, 0,151,131,110,208,180,151,195,
+ 169,143, 4, 4, 3, 0, 0, 0, 69, 59, 50,211,183,154,212,184,155,
+ 213,184,155,213,185,156,213,185,156,214,186,157,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,211,183,154,203,174,145,204,175,146,204,
+ 175,147,204,176,148,195,167,141, 9, 8, 7, 0, 0, 0, 82, 71, 60,
+ 208,179,151,132,115, 96, 0, 0, 0, 0, 0, 0,153,132,111,210,182,
+ 154,211,183,154,212,184,155,213,184,155,213,184,155,213,185,156,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,210,182,154,203,174,145,
+ 203,174,145,204,175,146,204,175,147,204,176,148, 80, 69, 58, 0, 0,
+ 0, 17, 15, 12,205,176,148, 65, 56, 47, 0, 0, 0, 26, 23, 19,208,
+ 180,151,210,181,153,210,182,154,211,183,154,211,183,154,212,184,155,
+ 213,184,155,255, 0,255,255, 0,255,255, 0,255,255, 0,255,210,182,
+ 154,202,173,145,203,174,145,203,174,145,204,175,146,204,175,147,160,
+ 137,115, 0, 0, 0, 0, 0, 0,145,124,105, 7, 6, 5, 0, 0, 0,
+ 108, 93, 78,208,180,152,209,181,152,210,181,153,210,181,153,210,182,
+ 154,211,183,154,212,184,155,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,210,181,153,201,172,144,202,173,145,203,174,145,203,174,145,
+ 204,175,146,204,175,146, 36, 31, 26, 0, 0, 0, 27, 23, 19, 0, 0,
+ 0, 3, 2, 2,188,162,136,208,180,151,208,180,152,208,180,152,209,
+ 181,152,210,181,153,210,182,154,211,183,154,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,210,181,153,200,172,143,201,172,144,202,173,
+ 145,203,174,145,203,174,145,203,174,145,116,100, 83, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 64, 55, 46,207,178,150,208,179,151,208,179,151,
+ 208,180,151,208,180,152,209,181,152,210,181,153,210,182,154,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,210,181,153,199,171,142,200,
+ 172,143,201,172,144,201,172,144,202,173,145,203,174,145,189,162,135,
+ 6, 5, 4, 0, 0, 0, 0, 0, 0,146,125,105,206,177,149,206,177,
+ 149,207,178,150,208,179,151,208,180,151,208,180,152,209,181,152,210,
+ 181,153,255, 0,255,255, 0,255,255, 0,255,255, 0,255,209,181,152,
+ 199,170,142,199,171,142,199,171,142,200,172,143,201,172,144,202,173,
+ 145,203,174,145, 73, 62, 52, 0, 0, 0, 24, 20, 17,202,174,146,205,
+ 176,148,205,176,148,206,177,149,207,178,150,208,179,151,208,180,151,
+ 208,180,152,209,181,152,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,209,181,152,199,169,141,199,169,141,199,170,142,199,171,142,200,
+ 172,143,201,172,144,202,173,145,153,131,109, 0, 0, 0,103, 88, 73,
+ 204,175,147,204,175,147,204,176,148,205,176,148,206,177,149,207,178,
+ 150,208,179,151,208,180,151,208,180,152,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,208,180,151,198,168,141,198,168,141,199,169,141,
+ 199,170,142,199,171,142,200,172,143,201,172,144,202,173,145,156,133,
+ 111,191,164,137,203,174,145,204,175,146,204,175,147,204,176,148,205,
+ 176,148,206,177,149,207,178,150,208,179,151,206,177,149,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,199,170,142,209,181,152,209,181,
+ 152,209,181,152,209,181,152,210,181,153,210,181,153,210,181,153,210,
+ 182,154,210,182,154,210,182,154,211,183,154,211,183,154,211,183,154,
+ 212,184,155,212,184,155,213,184,155,213,184,155,210,182,154,193,165,
+ 137,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255);
+{ home/michael/reader/font.bmp }
+const
+ img_richedit_font: array[0..1781] of byte = (
+ 66, 77,246, 6, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0,
+ 0, 24, 0, 0, 0, 24, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0,
+ 192, 6, 0, 0, 19, 11, 0, 0, 19, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255, 50, 84, 94, 22, 37, 41, 18, 30, 33,
+ 0, 0, 0, 25, 41, 47, 35, 58, 65, 31, 51, 57,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255, 41, 69, 76, 1, 1,
+ 1, 1, 1, 1, 43, 71, 81, 19, 33, 36, 14, 23, 26, 27, 45, 50,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 39,
+ 66, 74, 1, 1, 1, 12, 20, 22,255, 0,255, 58, 99,110, 4, 7, 8,
+ 25, 41, 47,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255, 39, 66, 74, 1, 1, 1, 22, 37, 41,255, 0,255, 47, 79,
+ 88, 1, 1, 1, 22, 37, 41,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255, 39, 66, 74, 1, 1, 1, 22, 37, 41,255,
+ 0,255, 47, 79, 88, 1, 1, 1, 22, 37, 41,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255, 42, 71, 79, 1, 1, 1,
+ 35, 58, 65,255, 0,255, 25, 43, 48, 1, 1, 1, 27, 46, 52,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255, 7, 13, 15, 24, 40, 45,
+ 26, 45, 50, 47, 80, 89, 17, 31, 35, 32, 54, 60, 12, 19, 21, 48, 82,
+ 90, 1, 1, 1, 27, 46, 51, 24, 40, 45, 1, 1, 1, 10, 16, 18, 26,
+ 45, 50,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 16, 26,
+ 30,255, 0,255, 0, 0, 0, 1, 1, 1, 34, 57, 64,255, 0,255,255,
+ 0,255, 47, 79, 88, 1, 1, 1, 12, 20, 22, 19, 32, 35, 16, 27, 30,
+ 26, 43, 49, 56, 93,104,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255, 33, 55, 62,255, 0,255,255, 0,255,255, 0,255, 26, 43, 48,
+ 255, 0,255,255, 0,255, 49, 83, 92, 1, 1, 1, 14, 23, 26,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255, 99,166,185, 59,100,112,255, 0,255,255, 0,
+ 255, 22, 37, 41,255, 0,255,255, 0,255, 68,117,130, 33, 55, 61, 29,
+ 49, 55,255, 0,255,255, 0,255, 94,158,176, 22, 36, 41, 23, 39, 44,
+ 20, 33, 37, 34, 57, 65, 48, 82, 91,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 99,166,185, 48,
+ 80, 89, 18, 33, 37, 22, 37, 41,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255, 16, 27, 30, 26, 43,
+ 48,255, 0,255,255, 0,255,255, 0,255, 50, 85, 95,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255, 24, 40, 44,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 26,
+ 43, 48,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255, 57, 97,107,255, 0,255,255, 0,255, 13, 24, 27,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255, 43, 72, 80,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255, 75,127,141, 59,101,112, 36, 63, 70,
+ 39, 66, 74,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255, 53, 90,100,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255, 84,142,158, 26, 44, 50,
+ 255, 0,255,255, 0,255,255, 0,255, 49, 84, 93,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,104,175,
+ 194, 56, 93,106, 29, 49, 55, 0, 0, 0, 0, 0, 0, 1, 1, 1,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,111,186,206, 76,129,143, 57, 98,109, 43, 73, 82,
+ 16, 27, 30,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255);
+{ home/michael/reader/hyperlink.bmp }
+const
+ img_richedit_hyperlink: array[0..1709] of byte = (
+ 66, 77,174, 6, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0,
+ 0, 23, 0, 0, 0, 23, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0,
+ 120, 6, 0, 0, 19, 11, 0, 0, 19, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255, 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255, 0, 0, 0,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255, 0, 0, 0,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 0,
+ 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255, 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255, 0, 0, 0,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255, 0, 0, 0,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,221, 0,
+ 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114, 0,114,255,
+ 0,255,255, 0,255,255, 0,255,191, 0,191, 0, 0, 0,235, 0,235,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 0, 0,
+ 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252, 0,252,255, 0,255,255,
+ 0,255, 0, 0, 0,255, 0,255,255, 0,255, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 255, 0,255,255, 0,255, 0, 0, 0,255, 0,255,255, 0,255, 0, 0,
+ 0, 91, 91, 91,151,151,151,157,157,157,163,163,163,167,167,167,169,
+ 169,169,169,169,169,120,120,120, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 120,120,120,164,164,164,150,150,150,136,136,136,121,121,121,108,108,
+ 108,105,105,105,255, 0,255,255, 0,255, 0, 0, 0,255, 0,255, 0,
+ 0, 0, 0, 0, 0,121,121,121, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,204,204,204, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,142,142,142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255,255, 0,255, 0, 0, 0,
+ 255, 0,255,195,195,195,178,178,178,201,201,201,217,217,217,147,147,
+ 147, 0, 0, 0, 0, 0, 0, 97, 97, 97,142,142,142,170,170,170,204,
+ 204,204,204,204,204,220,220,220,244,244,244,242,242,242,128,128,128,
+ 0, 0, 0, 0, 0, 0, 65, 65, 65, 77, 77, 77,255, 0,255,255, 0,
+ 255, 0, 0, 0,255, 0,255, 0, 0, 0, 0, 0, 0,179,179,179, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 239,239,239, 0, 0, 0, 0, 0, 0, 0, 0, 0,204,204,204, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,
+ 0,255,255, 0,255, 0, 0, 0,255, 0,255,255, 0,255, 0, 0, 0,
+ 96, 96, 96,185,185,185,190,190,190,195,195,195,200,200,200,234,234,
+ 234,249,249,249,136,136,136, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,
+ 104,104,202,202,202,190,190,190,178,178,178,179,179,179,172,172,172,
+ 170,170,170,255, 0,255,255, 0,255, 0, 0, 0,255, 0,255,255, 0,
+ 255,248, 0,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,255, 0,255,255, 0,255, 0, 0, 0,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255, 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255, 0, 0, 0,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255, 0, 0, 0,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 0,
+ 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255, 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255, 0, 0, 0);
+{home/michael/reader/image.bmp }
+const
+ img_richedit_image: array[0..1781] of byte = (
+ 66, 77,246, 6, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0,
+ 0, 24, 0, 0, 0, 24, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0,
+ 192, 6, 0, 0,136, 11, 0, 0,136, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,
+ 0, 0, 0,145,152,153,146,158,163,147,158,164,146,157,163,145,157,
+ 163,146,157,163,144,156,161,144,156,162,144,156,161,144,156,162,143,
+ 155,161,144,155,161,141,153,159,141,153,159,140,151,157,140,151,157,
+ 138,150,155, 89, 99,103, 0, 0, 0, 0, 0, 0,255, 0,255,255, 0,
+ 255,255, 0,255, 0, 0, 0,209,209,209,219,223,225,218,222,224,218,
+ 222,223,217,221,222,219,223,224,217,221,222,218,222,224,217,221,222,
+ 218,222,224,216,220,222,216,220,222,214,218,220,214,218,220,210,214,
+ 216,209,214,215,206,211,213,138,149,155, 0, 0, 0, 0, 0, 0,255,
+ 0,255,255, 0,255,255, 0,255, 0, 0, 0,233,233,233,217,220,221,
+ 215,218,220,215,219,220,214,218,219,216,220,221,214,218,219,215,219,
+ 220,214,218,219,215,219,220,213,217,218,213,217,219,211,215,217,211,
+ 215,217,210,214,216,209,214,216,209,213,215,139,151,157, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255, 0, 0, 0,214,214,
+ 214,192,194,195,191,194,194,190,194,194,191,194,195,191,194,195,189,
+ 193,194,190,194,194,189,193,194,190,194,194,188,192,193,188,192,193,
+ 187,190,191,193,196,198,205,209,211,210,214,216,210,214,216,141,152,
+ 158, 0, 0, 0, 0, 0, 0,255, 0,255,255, 0,255, 0, 0, 0, 0,
+ 0, 0,164,164,164,142,144,144,141,143,144,141,143,144,141,143,144,
+ 141,143,143,141,143,144,140,143,143,141,143,144,140,143,143,139,142,
+ 143,138,141,141,139,142,143,158,161,161,193,196,197,209,213,215,211,
+ 215,217,141,153,159, 0, 0, 0, 0, 0, 0,255, 0,255,255, 0,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,139,142,143,187,190,191,
+ 211,215,216,215,219,220,144,155,161, 0, 0, 0, 0, 0, 0,255, 0,
+ 255,255, 0,255, 0, 0, 0,140,173,149, 77,122, 89, 86,130, 87, 85,
+ 130, 86, 81,127, 86, 77,122, 89, 72,116, 89, 75,122, 87, 75,121, 90,
+ 72,117, 93, 69,110, 92, 72,114, 89, 51, 84, 59, 0, 0, 0,139,141,
+ 142,187,190,191,212,216,217,216,220,221,144,155,161, 0, 0, 0, 0,
+ 0, 0,255, 0,255,255, 0,255, 0, 0, 0,112,128,133, 92,144,102,
+ 98,149,102, 95,144,102, 93,142, 99, 98,149,100, 92,142,103, 89,140,
+ 102, 96,146,100, 92,140,103, 92,140,104, 94,145,102, 62,102, 69, 0,
+ 0, 0,139,141,142,189,192,194,215,219,220,219,223,224,144,156,161,
+ 0, 0, 0, 0, 0, 0,255, 0,255,255, 0,255, 0, 0, 0,218,205,
+ 196, 25, 47, 73, 89,138,103, 93,141,102, 95,142,101, 99,150,102, 86,
+ 135,100, 19, 39, 34, 9, 51, 65, 70,115, 96, 94,144,100, 84,132, 95,
+ 6, 7, 7, 0, 0, 0,141,143,143,192,194,195,217,220,221,220,223,
+ 225,147,158,164, 0, 0, 0, 0, 0, 0,255, 0,255,255, 0,255, 0,
+ 0, 0,222,207,191,183,167,154, 15, 38, 66, 89,135,102, 96,140,102,
+ 88,134, 94, 32, 39, 45,206,182,158,154,119, 84, 16, 33, 33, 73,117,
+ 85, 14, 13, 11,147,130,113, 0, 0, 0,141,143,143,192,194,195,217,
+ 220,221,220,223,225,147,158,164, 0, 0, 0, 0, 0, 0,255, 0,255,
+ 255, 0,255, 0, 0, 0,219,201,184,201,174,147,182,162,145, 20, 36,
+ 47, 88,136, 94, 18, 28, 31,196,169,143,201,173,144,201,171,141,166,
+ 135,102, 38, 33, 27,156,134,114,176,152,129, 0, 0, 0,142,144,144,
+ 191,193,194,219,222,223,220,223,225,147,158,164, 0, 0, 0, 0, 0,
+ 0,255, 0,255,255, 0,255, 0, 0, 0,215,196,177,195,166,136,195,
+ 166,136,188,160,131, 97, 82, 67,188,160,131,195,166,136,192,177,153,
+ 200,239,234,203,186,163,195,166,136,195,166,136,171,145,119, 0, 0,
+ 0,147,148,148,194,196,196,215,218,220,220,223,225,147,158,164, 0,
+ 0, 0, 0, 0, 0,255, 0,255,255, 0,255, 0, 0, 0,212,191,170,
+ 190,158,126,190,158,126,190,158,126,190,158,126,190,158,126,190,158,
+ 126,199,238,235,223,254,254,208,226,218,190,158,126,190,158,126,166,
+ 138,110, 0, 0, 0,151,152,153,199,200,201,215,218,220,220,223,225,
+ 125,134,139, 0, 0, 0, 0, 0, 0,255, 0,255,255, 0,255, 0, 0,
+ 0,209,186,163,185,150,115,185,150,115,185,150,115,185,150,115,185,
+ 150,115,185,150,115,189,170,143,196,228,220,185,156,123,185,150,115,
+ 185,150,115,162,131,101, 0, 0, 0,151,152,153,204,206,207,221,223,
+ 224,192,195,196,116,125,129, 0, 0, 0,252, 0,252,255, 0,255,255,
+ 0,255, 0, 0, 0,239,233,226,205,180,156,205,180,156,205,180,156,
+ 205,180,156,205,180,156,205,180,156,205,180,156,205,180,156,205,180,
+ 156,205,180,156,205,180,156,149,128,105, 0, 0, 0,162,163,163,193,
+ 195,197,196,198,198,180,182,182,108,112,114, 0, 0, 0,255, 0,255,
+ 255, 0,255,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 189,190,190,174,175,177,128,130,130,129,131,132, 99,103,106, 0, 0,
+ 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 0, 0, 0,251,
+ 251,251,251,251,251,250,250,250,250,250,250,250,250,250,249,249,249,
+ 248,248,248,246,247,247,248,248,248,246,247,247,246,246,246,243,244,
+ 244,238,238,238,156,156,156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+ 255,255,255,255,255,255,255,254,254,254,255,255,255,254,254,254,253,
+ 253,253,248,249,249,238,238,238,163,164,164,240,240,240,255,255,255,
+ 244,244,244,116,116,116, 5, 5, 5,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255, 0, 0, 0,246,246,246,255,255,255,255,255,255,255,
+ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+ 255,255,255,255,255,255,248,249,249,238,239,239,174,175,175,233,233,
+ 233,255,255,255,129,129,129, 43, 43, 43,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255, 0, 0, 0,211,211,211,246,246,246,
+ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+ 255,255,255,255,255,255,255,249,249,249,248,249,249,248,249,249,231,
+ 231,231,228,228,228,146,146,146, 31, 31, 31,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 34, 34, 34, 40, 40, 40, 81, 81, 81,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255);
+{home/michael/reader/italic.bmp}
+const
+ img_richedit_italic: array[0..1781] of byte = (
+ 66, 77,246, 6, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0,
+ 0, 24, 0, 0, 0, 24, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0,
+ 192, 6, 0, 0, 19, 11, 0, 0, 19, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,201,201,201,237,237,237,248,248,248,245,245,245,
+ 246,246,246,247,247,247,248,248,248,248,248,248,249,249,249,250,250,
+ 250,251,251,251,252,252,252,253,253,253,254,254,254,255,255,255,255,
+ 255,255,255,255,255,255,255,255,238,238,238,189,189,189,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,246,246,246,247,247,247,248,
+ 248,248,249,249,249,250,250,250,251,251,251,252,252,252,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,236,236,
+ 236,255, 0,255,255, 0,255,255, 0,255,255, 0,255,248,248,248,241,
+ 241,241,242,242,242,243,243,243,244,244,244,244,244,244,245,245,245,
+ 246,246,246,247,247,247,248,248,248,249,249,249,250,250,250,251,251,
+ 251,252,252,252,253,253,253,253,253,253,254,254,254,255,255,255,255,
+ 255,255,255,255,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 248,248,248,240,240,240,241,241,241,242,242,242, 66, 66, 66, 3, 3,
+ 3,211,211,211,245,245,245,246,246,246,247,247,247,248,248,248,249,
+ 249,249,250,250,250,107,107,107, 17, 17, 17,252,252,252,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,247,247,247,238,238,238,239,239,239,239,239,239,196,
+ 196,196, 1, 1, 1, 91, 91, 91,243,243,243,244,244,244,245,245,245,
+ 246,246,246,247,247,247,247,247,247, 70, 70, 70, 54, 54, 54,250,250,
+ 250,251,251,251,252,252,252,253,253,253,254,254,254,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,247,247,247,237,237,237,237,237,237,
+ 238,238,238,239,239,239, 91, 91, 91, 2, 2, 2,207,207,207,243,243,
+ 243,244,244,244,245,245,245,245,245,245,246,246,246, 35, 35, 35, 91,
+ 91, 91,249,249,249,250,250,250,251,251,251,252,252,252,253,253,253,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,246,246,246,235,235,
+ 235,236,236,236,237,237,237,238,238,238,213,213,213, 9, 9, 9, 86,
+ 86, 86,242,242,242,243,243,243,244,244,244,244,244,244,242,242,242,
+ 4, 4, 4,127,127,127,248,248,248,249,249,249,250,250,250,251,251,
+ 251,252,252,252,255, 0,255,255, 0,255,255, 0,255,255, 0,255,245,
+ 245,245,234,234,234,235,235,235,236,236,236,237,237,237,238,238,238,
+ 116,116,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,164,164,164,247,247,247,248,248,248,249,
+ 249,249,250,250,250,250,250,250,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,245,245,245,233,233,233,234,234,234,235,235,235,236,236,
+ 236,237,237,237,226,226,226, 21, 21, 21, 31, 31, 31,234,234,234,241,
+ 241,241,242,242,242,163,163,163, 0, 0, 0,199,199,199,246,246,246,
+ 247,247,247,248,248,248,248,248,248,249,249,249,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,245,245,245,232,232,232,233,233,233,234,
+ 234,234,235,235,235,236,236,236,237,237,237,140,140,140, 0, 0, 0,
+ 136,136,136,240,240,240,241,241,241,127,127,127, 0, 0, 0,234,234,
+ 234,245,245,245,246,246,246,247,247,247,247,247,247,248,248,248,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,244,231,231,231,
+ 232,232,232,233,233,233,234,234,234,235,235,235,236,236,236,232,232,
+ 232, 38, 38, 38, 20, 20, 20,227,227,227,240,240,240, 91, 91, 91, 25,
+ 25, 25,243,243,243,244,244,244,245,245,245,245,245,245,246,246,246,
+ 247,247,247,255, 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,
+ 244,230,230,230,231,231,231,232,232,232,233,233,233,234,234,234,234,
+ 234,234,235,235,235,164,164,164, 0, 0, 0,118,118,118,239,239,239,
+ 57, 57, 57, 61, 61, 61,242,242,242,243,243,243,243,243,243,244,244,
+ 244,245,245,245,246,246,246,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,243,243,243,229,229,229,230,230,230,231,231,231,232,232,232,
+ 233,233,233,233,233,233,234,234,234,235,235,235, 59, 59, 59, 12, 12,
+ 12,221,221,221, 29, 29, 29, 96, 96, 96,241,241,241,241,241,241,242,
+ 242,242,243,243,243,244,244,244,245,245,245,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,243,243,243,228,228,228,229,229,229,230,230,
+ 230,231,231,231,231,231,231,232,232,232,233,233,233,234,234,234,188,
+ 188,188, 0, 0, 0,115,115,115, 9, 9, 9,132,132,132,239,239,239,
+ 240,240,240,241,241,241,242,242,242,243,243,243,244,244,244,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,243,243,243,227,227,227,228,
+ 228,228,229,229,229,229,229,229,230,230,230,231,231,231,232,232,232,
+ 233,233,233,234,234,234, 82, 82, 82, 16, 16, 16, 0, 0, 0,166,166,
+ 166,238,238,238,239,239,239,240,240,240,241,241,241,242,242,242,243,
+ 243,243,255, 0,255,255, 0,255,255, 0,255,255, 0,255,242,242,242,
+ 226,226,226,227,227,227,227,227,227,228,228,228,229,229,229,230,230,
+ 230,231,231,231,232,232,232,233,233,233,205,205,205, 7, 7, 7, 0,
+ 0, 0,200,200,200,237,237,237,238,238,238,239,239,239,240,240,240,
+ 241,241,241,242,242,242,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,242,242,242,225,225,225,225,225,225,226,226,226,227,227,227,228,
+ 228,228,229,229,229,230,230,230,231,231,231,232,232,232,233,233,233,
+ 234,234,234,234,234,234,235,235,235,236,236,236,237,237,237,238,238,
+ 238,239,239,239,240,240,240,241,241,241,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,240,240,240,224,224,224,224,224,224,225,225,225,
+ 226,226,226,227,227,227,228,228,228,229,229,229,230,230,230,231,231,
+ 231,232,232,232,232,232,232,233,233,233,234,234,234,235,235,235,236,
+ 236,236,237,237,237,238,238,238,239,239,239,237,237,237,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,226,226,226,242,242,242,242,242,
+ 242,242,242,242,242,242,242,243,243,243,243,243,243,243,243,243,244,
+ 244,244,244,244,244,244,244,244,245,245,245,245,245,245,245,245,245,
+ 246,246,246,246,246,246,247,247,247,247,247,247,244,244,244,219,219,
+ 219,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255);
+{home/michael/reader/justify.bmp }
+const
+ img_richedit_justify: array[0..1781] of byte = (
+ 66, 77,246, 6, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0,
+ 0, 24, 0, 0, 0, 24, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0,
+ 192, 6, 0, 0, 19, 11, 0, 0, 19, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,201,201,201,237,237,237,248,248,248,245,245,245,
+ 246,246,246,247,247,247,248,248,248,248,248,248,249,249,249,250,250,
+ 250,251,251,251,252,252,252,253,253,253,254,254,254,255,255,255,255,
+ 255,255,255,255,255,255,255,255,238,238,238,189,189,189,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,246,246,246,247,247,247,248,
+ 248,248,249,249,249,250,250,250,251,251,251,252,252,252,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,236,236,
+ 236,255, 0,255,255, 0,255,255, 0,255,255, 0,255,248,248,248,241,
+ 241,241,144,144,144,144,144,144,145,145,145,145,145,145,146,146,146,
+ 146,146,146,147,147,147,147,147,147,148,148,148,149,149,149,149,149,
+ 149,150,150,150,150,150,150,150,150,150,151,151,151,152,152,152,255,
+ 255,255,255,255,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 248,248,248,240,240,240,241,241,241,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,247,247,247,248,248,248,249,
+ 249,249,250,250,250,251,251,251,251,251,251,252,252,252,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,247,247,247,238,238,238,142,142,142,142,142,142,143,
+ 143,143,143,143,143,144,144,144,144,144,144,145,145,145,146,146,146,
+ 146,146,146,147,147,147,147,147,147,147,147,147,148,148,148,149,149,
+ 149,149,149,149,150,150,150,253,253,253,254,254,254,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,247,247,247,237,237,237,237,237,237,
+ 238,238,238,239,239,239,240,240,240,241,241,241,242,242,242,243,243,
+ 243,244,244,244,245,245,245,245,245,245,246,246,246,247,247,247,248,
+ 248,248,249,249,249,250,250,250,251,251,251,252,252,252,253,253,253,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,246,246,246,235,235,
+ 235,140,140,140,141,141,141,141,141,141,142,142,142,143,143,143,143,
+ 143,143,144,144,144,144,144,144,145,145,145,145,145,145,146,146,146,
+ 146,146,146,147,147,147,147,147,147,148,148,148,149,149,149,251,251,
+ 251,252,252,252,255, 0,255,255, 0,255,255, 0,255,255, 0,255,245,
+ 245,245,234,234,234,235,235,235,236,236,236,237,237,237,238,238,238,
+ 239,239,239,240,240,240,241,241,241,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,247,247,247,248,248,248,249,
+ 249,249,250,250,250,250,250,250,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,245,245,245,233,233,233,139,139,139,140,140,140,140,140,
+ 140,141,141,141,141,141,141,142,142,142,143,143,143,143,143,143,143,
+ 143,143,144,144,144,144,144,144,145,145,145,146,146,146,146,146,146,
+ 147,147,147,147,147,147,248,248,248,249,249,249,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,245,245,245,232,232,232,233,233,233,234,
+ 234,234,235,235,235,236,236,236,237,237,237,238,238,238,238,238,238,
+ 239,239,239,240,240,240,241,241,241,242,242,242,243,243,243,244,244,
+ 244,245,245,245,246,246,246,247,247,247,247,247,247,248,248,248,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,244,231,231,231,
+ 138,138,138,138,138,138,139,139,139,140,140,140,140,140,140,140,140,
+ 140,141,141,141,141,141,141,142,142,142,143,143,143,143,143,143,144,
+ 144,144,144,144,144,145,145,145,146,146,146,146,146,146,246,246,246,
+ 247,247,247,255, 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,
+ 244,230,230,230,231,231,231,232,232,232,233,233,233,234,234,234,234,
+ 234,234,235,235,235,236,236,236,237,237,237,238,238,238,239,239,239,
+ 240,240,240,241,241,241,242,242,242,243,243,243,243,243,243,244,244,
+ 244,245,245,245,246,246,246,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,243,243,243,229,229,229,137,137,137,137,137,137,138,138,138,
+ 138,138,138,138,138,138,139,139,139,140,140,140,140,140,140,141,141,
+ 141,141,141,141,142,142,142,143,143,143,143,143,143,143,143,143,144,
+ 144,144,144,144,144,244,244,244,245,245,245,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,243,243,243,228,228,228,229,229,229,230,230,
+ 230,231,231,231,231,231,231,232,232,232,233,233,233,234,234,234,235,
+ 235,235,236,236,236,237,237,237,238,238,238,239,239,239,239,239,239,
+ 240,240,240,241,241,241,242,242,242,243,243,243,244,244,244,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,243,243,243,227,227,227,135,
+ 135,135,136,136,136,136,136,136,137,137,137,137,137,137,138,138,138,
+ 138,138,138,139,139,139,140,140,140,140,140,140,141,141,141,141,141,
+ 141,141,141,141,142,142,142,143,143,143,143,143,143,242,242,242,243,
+ 243,243,255, 0,255,255, 0,255,255, 0,255,255, 0,255,242,242,242,
+ 226,226,226,227,227,227,227,227,227,228,228,228,229,229,229,230,230,
+ 230,231,231,231,232,232,232,233,233,233,234,234,234,235,235,235,236,
+ 236,236,236,236,236,237,237,237,238,238,238,239,239,239,240,240,240,
+ 241,241,241,242,242,242,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,242,242,242,225,225,225,134,134,134,134,134,134,135,135,135,135,
+ 135,135,136,136,136,137,137,137,137,137,137,138,138,138,138,138,138,
+ 139,139,139,139,139,139,140,140,140,140,140,140,141,141,141,141,141,
+ 141,142,142,142,240,240,240,241,241,241,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,240,240,240,224,224,224,224,224,224,225,225,225,
+ 226,226,226,227,227,227,228,228,228,229,229,229,230,230,230,231,231,
+ 231,232,232,232,232,232,232,233,233,233,234,234,234,235,235,235,236,
+ 236,236,237,237,237,238,238,238,239,239,239,237,237,237,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,226,226,226,242,242,242,242,242,
+ 242,242,242,242,242,242,242,243,243,243,243,243,243,243,243,243,244,
+ 244,244,244,244,244,244,244,244,245,245,245,245,245,245,245,245,245,
+ 246,246,246,246,246,246,247,247,247,247,247,247,244,244,244,219,219,
+ 219,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255);
+{ home/michael/reader/left.bmp }
+const
+ img_richedit_left: array[0..1781] of byte = (
+ 66, 77,246, 6, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0,
+ 0, 24, 0, 0, 0, 24, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0,
+ 192, 6, 0, 0, 19, 11, 0, 0, 19, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,201,201,201,237,237,237,248,248,248,245,245,245,
+ 246,246,246,247,247,247,248,248,248,248,248,248,249,249,249,250,250,
+ 250,251,251,251,252,252,252,253,253,253,254,254,254,255,255,255,255,
+ 255,255,255,255,255,255,255,255,238,238,238,189,189,189,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,246,246,246,247,247,247,248,
+ 248,248,249,249,249,250,250,250,251,251,251,252,252,252,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,236,236,
+ 236,255, 0,255,255, 0,255,255, 0,255,255, 0,255,248,248,248,241,
+ 241,241,144,144,144,144,144,144,145,145,145,145,145,145,146,146,146,
+ 146,146,146,147,147,147,147,147,147,148,148,148,149,149,149,149,149,
+ 149,252,252,252,253,253,253,253,253,253,254,254,254,255,255,255,255,
+ 255,255,255,255,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 248,248,248,240,240,240,241,241,241,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,247,247,247,248,248,248,249,
+ 249,249,250,250,250,251,251,251,251,251,251,252,252,252,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,247,247,247,238,238,238,142,142,142,142,142,142,143,
+ 143,143,143,143,143,144,144,144,243,243,243,244,244,244,245,245,245,
+ 246,246,246,247,247,247,247,247,247,248,248,248,249,249,249,250,250,
+ 250,251,251,251,252,252,252,253,253,253,254,254,254,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,247,247,247,237,237,237,237,237,237,
+ 238,238,238,239,239,239,240,240,240,241,241,241,242,242,242,243,243,
+ 243,244,244,244,245,245,245,245,245,245,246,246,246,247,247,247,248,
+ 248,248,249,249,249,250,250,250,251,251,251,252,252,252,253,253,253,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,246,246,246,235,235,
+ 235,140,140,140,141,141,141,141,141,141,142,142,142,143,143,143,143,
+ 143,143,144,144,144,243,243,243,244,244,244,244,244,244,245,245,245,
+ 246,246,246,247,247,247,248,248,248,249,249,249,250,250,250,251,251,
+ 251,252,252,252,255, 0,255,255, 0,255,255, 0,255,255, 0,255,245,
+ 245,245,234,234,234,235,235,235,236,236,236,237,237,237,238,238,238,
+ 239,239,239,240,240,240,241,241,241,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,247,247,247,248,248,248,249,
+ 249,249,250,250,250,250,250,250,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,245,245,245,233,233,233,139,139,139,140,140,140,140,140,
+ 140,141,141,141,141,141,141,142,142,142,143,143,143,143,143,143,143,
+ 143,143,144,144,144,144,144,144,145,145,145,146,146,146,246,246,246,
+ 247,247,247,248,248,248,248,248,248,249,249,249,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,245,245,245,232,232,232,233,233,233,234,
+ 234,234,235,235,235,236,236,236,237,237,237,238,238,238,238,238,238,
+ 239,239,239,240,240,240,241,241,241,242,242,242,243,243,243,244,244,
+ 244,245,245,245,246,246,246,247,247,247,247,247,247,248,248,248,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,244,231,231,231,
+ 138,138,138,138,138,138,139,139,139,140,140,140,140,140,140,140,140,
+ 140,141,141,141,141,141,141,142,142,142,143,143,143,143,143,143,242,
+ 242,242,243,243,243,244,244,244,245,245,245,245,245,245,246,246,246,
+ 247,247,247,255, 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,
+ 244,230,230,230,231,231,231,232,232,232,233,233,233,234,234,234,234,
+ 234,234,235,235,235,236,236,236,237,237,237,238,238,238,239,239,239,
+ 240,240,240,241,241,241,242,242,242,243,243,243,243,243,243,244,244,
+ 244,245,245,245,246,246,246,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,243,243,243,229,229,229,137,137,137,137,137,137,138,138,138,
+ 138,138,138,138,138,138,139,139,139,140,140,140,236,236,236,237,237,
+ 237,238,238,238,239,239,239,240,240,240,241,241,241,241,241,241,242,
+ 242,242,243,243,243,244,244,244,245,245,245,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,243,243,243,228,228,228,229,229,229,230,230,
+ 230,231,231,231,231,231,231,232,232,232,233,233,233,234,234,234,235,
+ 235,235,236,236,236,237,237,237,238,238,238,239,239,239,239,239,239,
+ 240,240,240,241,241,241,242,242,242,243,243,243,244,244,244,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,243,243,243,227,227,227,135,
+ 135,135,136,136,136,136,136,136,137,137,137,137,137,137,138,138,138,
+ 138,138,138,139,139,139,140,140,140,140,140,140,141,141,141,141,141,
+ 141,141,141,141,142,142,142,240,240,240,241,241,241,242,242,242,243,
+ 243,243,255, 0,255,255, 0,255,255, 0,255,255, 0,255,242,242,242,
+ 226,226,226,227,227,227,227,227,227,228,228,228,229,229,229,230,230,
+ 230,231,231,231,232,232,232,233,233,233,234,234,234,235,235,235,236,
+ 236,236,236,236,236,237,237,237,238,238,238,239,239,239,240,240,240,
+ 241,241,241,242,242,242,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,242,242,242,225,225,225,134,134,134,134,134,134,135,135,135,135,
+ 135,135,136,136,136,137,137,137,137,137,137,138,138,138,138,138,138,
+ 139,139,139,234,234,234,235,235,235,236,236,236,237,237,237,238,238,
+ 238,239,239,239,240,240,240,241,241,241,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,240,240,240,224,224,224,224,224,224,225,225,225,
+ 226,226,226,227,227,227,228,228,228,229,229,229,230,230,230,231,231,
+ 231,232,232,232,232,232,232,233,233,233,234,234,234,235,235,235,236,
+ 236,236,237,237,237,238,238,238,239,239,239,237,237,237,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,226,226,226,242,242,242,242,242,
+ 242,242,242,242,242,242,242,243,243,243,243,243,243,243,243,243,244,
+ 244,244,244,244,244,244,244,244,245,245,245,245,245,245,245,245,245,
+ 246,246,246,246,246,246,247,247,247,247,247,247,244,244,244,219,219,
+ 219,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255);
+{ home/michael/reader/margin.bmp }
+const
+ img_richedit_margin: array[0..1781] of byte = (
+ 66, 77,246, 6, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0,
+ 0, 24, 0, 0, 0, 24, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0,
+ 192, 6, 0, 0, 19, 11, 0, 0, 19, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,201,201,201,218,218,218,238,238,238,235,235,235,
+ 236,236,236,237,237,237,238,238,238,238,238,238,239,239,239,240,240,
+ 240,241,241,241,242,242,242,243,243,243,244,244,244,245,245,245,245,
+ 245,245,245,245,245,245,245,245,228,228,228,189,189,189,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,246,246,246,247,247,247,188,
+ 188,188,249,249,249,250,250,250,251,251,251,252,252,252,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,217,217,
+ 217,255, 0,255,255, 0,255,255, 0,255,255, 0,255,248,248,248,241,
+ 241,241,242,242,242,243,243,243,244,244,244,244,244,244,245,245,245,
+ 246,246,246,247,247,247,248,248,248,249,249,249,250,250,250,251,251,
+ 251,252,252,252,253,253,253,253,253,253,254,254,254,255,255,255,255,
+ 255,255,245,245,245,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 248,248,248,240,240,240,183,183,183,184,184,184,184,184,184,184,184,
+ 184,185,185,185,186,186,186,187,187,187,187,187,187,188,188,188,189,
+ 189,189,190,190,190,190,190,190,190,190,190,191,191,191,192,192,192,
+ 193,193,193,255,255,255,245,245,245,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,247,247,247,238,238,238,239,239,239,239,239,239,240,
+ 240,240,241,241,241,242,242,242,243,243,243,244,244,244,245,245,245,
+ 246,246,246,247,247,247,247,247,247,248,248,248,249,249,249,250,250,
+ 250,251,251,251,252,252,252,253,253,253,244,244,244,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,247,247,247,237,237,237,237,237,237,
+ 238,238,238,239,239,239,240,240,240,241,241,241,242,242,242,243,243,
+ 243,244,244,244,245,245,245,245,245,245,246,246,246,247,247,247,248,
+ 248,248,249,249,249,250,250,250,251,251,251,252,252,252,243,243,243,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,246,246,246,235,235,
+ 235,236,236,236,237,237,237,238,238,238,239,239,239,240,240,240,241,
+ 241,241,121,121,121,121,121,121,122,122,122,122,122,122,122,122,122,
+ 246,246,246,247,247,247,248,248,248,249,249,249,250,250,250,251,251,
+ 251,242,242,242,255, 0,255,255, 0,255,255, 0,255,255, 0,255,245,
+ 245,245,234,234,234,235,235,235,236,236,236,173,173,173,238,238,238,
+ 239,239,239,240,240,240,241,241,241,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,247,247,247,248,248,248,249,
+ 249,249,250,250,250,240,240,240,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,245,245,245,233,233,233,234,234,234,235,235,235, 0, 0,
+ 0,173,173,173,238,238,238,239,239,239,120,120,120,120,120,120,120,
+ 120,120,121,121,121,121,121,121,122,122,122,122,122,122,123,123,123,
+ 123,123,123,124,124,124,248,248,248,239,239,239,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,245,245,245, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,173,173,173,238,238,238,238,238,238,
+ 239,239,239,240,240,240,241,241,241,242,242,242,243,243,243,244,244,
+ 244,245,245,245,246,246,246,247,247,247,247,247,247,238,238,238,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,244,231,231,231,
+ 232,232,232,233,233,233, 0, 0, 0,172,172,172,236,236,236,236,236,
+ 236,118,118,118,119,119,119,119,119,119,120,120,120,120,120,120,121,
+ 121,121,121,121,121,122,122,122,122,122,122,122,122,122,246,246,246,
+ 237,237,237,255, 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,
+ 244,230,230,230,231,231,231,232,232,232,170,170,170,234,234,234,234,
+ 234,234,235,235,235,236,236,236,237,237,237,238,238,238,239,239,239,
+ 240,240,240,241,241,241,242,242,242,243,243,243,243,243,243,244,244,
+ 244,245,245,245,236,236,236,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,243,243,243,229,229,229,230,230,230,231,231,231,232,232,232,
+ 233,233,233,233,233,233,234,234,234,117,117,117,118,118,118,118,118,
+ 118,119,119,119,119,119,119,120,120,120,120,120,120,120,120,120,121,
+ 121,121,121,121,121,244,244,244,235,235,235,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,243,243,243,228,228,228,229,229,229,230,230,
+ 230,231,231,231,231,231,231,232,232,232,233,233,233,234,234,234,235,
+ 235,235,236,236,236,237,237,237,238,238,238,239,239,239,239,239,239,
+ 240,240,240,241,241,241,242,242,242,243,243,243,234,234,234,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,243,243,243,227,227,227,228,
+ 228,228,229,229,229,229,229,229,230,230,230,231,231,231,232,232,232,
+ 233,233,233,234,234,234,235,235,235,236,236,236,237,237,237,237,237,
+ 237,238,238,238,239,239,239,240,240,240,241,241,241,242,242,242,233,
+ 233,233,255, 0,255,255, 0,255,255, 0,255,255, 0,255,242,242,242,
+ 226,226,226,172,172,172,172,172,172,173,173,173,174,174,174,174,174,
+ 174,175,175,175,176,176,176,177,177,177,178,178,178,178,178,178,179,
+ 179,179,179,179,179,180,180,180,181,181,181,181,181,181,182,182,182,
+ 241,241,241,232,232,232,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,242,242,242,225,225,225,225,225,225,226,226,226,227,227,227,228,
+ 228,228,229,229,229,230,230,230,231,231,231,232,232,232,233,233,233,
+ 234,234,234,234,234,234,235,235,235,236,236,236,237,237,237,238,238,
+ 238,239,239,239,240,240,240,231,231,231,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,240,240,240,224,224,224,224,224,224,225,225,225,
+ 226,226,226,227,227,227,228,228,228,229,229,229,174,174,174,231,231,
+ 231,232,232,232,232,232,232,233,233,233,234,234,234,235,235,235,236,
+ 236,236,237,237,237,238,238,238,239,239,239,227,227,227,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,226,226,226,242,242,242,242,242,
+ 242,242,242,242,242,242,242,243,243,243,243,243,243,243,243,243,244,
+ 244,244,244,244,244,244,244,244,245,245,245,245,245,245,245,245,245,
+ 246,246,246,246,246,246,247,247,247,247,247,247,244,244,244,219,219,
+ 219,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255);
+{home/michael/reader/nowrap.bmp}
+const
+ img_richedit_nowrap: array[0..1781] of byte = (
+ 66, 77,246, 6, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0,
+ 0, 24, 0, 0, 0, 24, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0,
+ 192, 6, 0, 0, 19, 11, 0, 0, 19, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,201,201,201,237,237,237,248,248,248,245,245,245,
+ 246,246,246,247,247,247,248,248,248,248,248,248,249,249,249,250,250,
+ 250,251,251,251,252,252,252,253,253,253,254,254,254,255,255,255,255,
+ 255,255,255,255,255,255,255,255,238,238,238,189,189,189,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,246,246,246,247,247,247,248,
+ 248,248,249,249,249,250,250,250,251,251,251,252,252,252,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,236,236,
+ 236,255, 0,255,255, 0,255,255, 0,255,255, 0,255,248,248,248,241,
+ 241,241,242,242,242,243,243,243,244,244,244,244,244,244,245,245,245,
+ 246,246,246,247,247,247,248,248,248,249,249,249,250,250,250,251,251,
+ 251,252,252,252,253,253,253,253,253,253,254,254,254,255,255,255,255,
+ 255,255,255,255,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 248,248,248,240,240,240,241,241,241,207,200,192,115, 87, 59,115, 87,
+ 60,180,165,152,245,245,245,246,246,246,108, 78, 49,108, 78, 49,122,
+ 95, 69,232,229,225,251,251,251,251,251,251,252,252,252,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,247,247,247,238,238,238,239,239,239,108, 78, 49,236,
+ 235,234,241,241,241,108, 78, 49,243,243,243,244,244,244,108, 78, 49,
+ 246,246,246,173,158,142,132,107, 83,248,248,248,249,249,249,250,250,
+ 250,251,251,251,252,252,252,253,253,253,254,254,254,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,247,247,247,237,237,237,237,237,237,
+ 108, 78, 49,239,239,239,240,240,240,241,241,241,242,242,242,243,243,
+ 243,108, 78, 49,245,245,245,245,245,245,115, 86, 59,247,247,247,248,
+ 248,248,249,249,249,250,250,250,251,251,251,252,252,252,253,253,253,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,246,246,246,235,235,
+ 235,236,236,236,108, 78, 49,238,238,238,239,239,239,240,240,240,241,
+ 241,241,242,242,242,108, 78, 49,244,244,244,244,244,244,114, 86, 58,
+ 246,246,246,247,247,247,248,248,248,249,249,249,250,250,250,251,251,
+ 251,252,252,252,255, 0,255,255, 0,255,255, 0,255,255, 0,255,245,
+ 245,245,234,234,234,235,235,235,108, 78, 49,234,234,234,238,238,238,
+ 108, 78, 49,240,240,240,241,241,241,108, 78, 49,242,242,242,169,153,
+ 138,132,107, 84,245,245,245,246,246,246,247,247,247,248,248,248,249,
+ 249,249,250,250,250,250,250,250,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,245,245,245,233,233,233,234,234,234,204,196,189,115, 87,
+ 60,116, 87, 60,184,172,160,239,239,239,240,240,240,108, 78, 49,108,
+ 78, 49,122, 95, 69,227,224,220,244,244,244,245,245,245,246,246,246,
+ 247,247,247,248,248,248,248,248,248,249,249,249,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,245,245,245,232,232,232,233,233,233,234,
+ 234,234,235,235,235,236,236,236,237,237,237,238,238,238,238,238,238,
+ 239,239,239,240,240,240,241,241,241,242,242,242,243,243,243,244,244,
+ 244,245,245,245,246,246,246,247,247,247,247,247,247,248,248,248,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,244,231,231,231,
+ 232,232,232,108, 78, 49,234,234,234,235,235,235,108, 78, 49,236,236,
+ 236,237,237,237,108, 78, 49,108, 78, 49,108, 78, 49,177,163,149,242,
+ 242,242,243,243,243,244,244,244,245,245,245,245,245,245,246,246,246,
+ 247,247,247,255, 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,
+ 244,230,230,230,231,231,231,108, 78, 49,233,233,233,234,234,234,108,
+ 78, 49,235,235,235,236,236,236,108, 78, 49,238,238,238,223,219,215,
+ 115, 86, 59,241,241,241,242,242,242,243,243,243,243,243,243,244,244,
+ 244,245,245,245,246,246,246,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,243,243,243,229,229,229,230,230,230,108, 78, 49,108, 78, 49,
+ 108, 78, 49,108, 78, 49,234,234,234,235,235,235,108, 78, 49,237,237,
+ 237,204,197,189,121, 95, 69,240,240,240,241,241,241,241,241,241,242,
+ 242,242,243,243,243,244,244,244,245,245,245,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,243,243,243,228,228,228,229,229,229,108, 78,
+ 49,231,231,231,231,231,231,108, 78, 49,233,233,233,234,234,234,108,
+ 78, 49,108, 78, 49,108, 78, 49,206,199,192,239,239,239, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,242,242,242,243,243,243,244,244,244,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,243,243,243,227,227,227,228,
+ 228,228,108, 78, 49,229,229,229,230,230,230,108, 78, 49,232,232,232,
+ 233,233,233,108, 78, 49,235,235,235,225,223,221,117, 89, 62,237,237,
+ 237,238,238,238,239,239,239,240,240,240,241,241,241,242,242,242,243,
+ 243,243,255, 0,255,255, 0,255,255, 0,255,255, 0,255,242,242,242,
+ 226,226,226,227,227,227,156,138,120,108, 78, 49,108, 78, 49,158,140,
+ 123,231,231,231,232,232,232,108, 78, 49,108, 78, 49,108, 78, 49,147,
+ 126,106,236,236,236,237,237,237,238,238,238,239,239,239,240,240,240,
+ 241,241,241,242,242,242,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,242,242,242,225,225,225,225,225,225,226,226,226,227,227,227,228,
+ 228,228,229,229,229,230,230,230,231,231,231,232,232,232,233,233,233,
+ 234,234,234,234,234,234,235,235,235,236,236,236,237,237,237,238,238,
+ 238,239,239,239,240,240,240,241,241,241,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,240,240,240,224,224,224,224,224,224,225,225,225,
+ 226,226,226,227,227,227,228,228,228,229,229,229,230,230,230,231,231,
+ 231,232,232,232,232,232,232,233,233,233,234,234,234,235,235,235,236,
+ 236,236,237,237,237,238,238,238,239,239,239,237,237,237,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,226,226,226,242,242,242,242,242,
+ 242,242,242,242,242,242,242,243,243,243,243,243,243,243,243,243,244,
+ 244,244,244,244,244,244,244,244,245,245,245,245,245,245,245,245,245,
+ 246,246,246,246,246,246,247,247,247,247,247,247,244,244,244,219,219,
+ 219,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255);
+{home/michael/reader/right.bmp}
+const
+ img_richedit_right: array[0..1781] of byte = (
+ 66, 77,246, 6, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0,
+ 0, 24, 0, 0, 0, 24, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0,
+ 192, 6, 0, 0, 19, 11, 0, 0, 19, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,201,201,201,237,237,237,248,248,248,245,245,245,
+ 246,246,246,247,247,247,248,248,248,248,248,248,249,249,249,250,250,
+ 250,251,251,251,252,252,252,253,253,253,254,254,254,255,255,255,255,
+ 255,255,255,255,255,255,255,255,238,238,238,189,189,189,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,246,246,246,247,247,247,248,
+ 248,248,249,249,249,250,250,250,251,251,251,252,252,252,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,236,236,
+ 236,255, 0,255,255, 0,255,255, 0,255,255, 0,255,248,248,248,241,
+ 241,241,242,242,242,243,243,243,244,244,244,244,244,244,245,245,245,
+ 146,146,146,147,147,147,147,147,147,148,148,148,149,149,149,149,149,
+ 149,150,150,150,150,150,150,150,150,150,151,151,151,152,152,152,255,
+ 255,255,255,255,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 248,248,248,240,240,240,241,241,241,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,247,247,247,248,248,248,249,
+ 249,249,250,250,250,251,251,251,251,251,251,252,252,252,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,247,247,247,238,238,238,239,239,239,239,239,239,240,
+ 240,240,241,241,241,242,242,242,243,243,243,244,244,244,245,245,245,
+ 246,246,246,247,247,247,247,247,247,147,147,147,148,148,148,149,149,
+ 149,149,149,149,150,150,150,253,253,253,254,254,254,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,247,247,247,237,237,237,237,237,237,
+ 238,238,238,239,239,239,240,240,240,241,241,241,242,242,242,243,243,
+ 243,244,244,244,245,245,245,245,245,245,246,246,246,247,247,247,248,
+ 248,248,249,249,249,250,250,250,251,251,251,252,252,252,253,253,253,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,246,246,246,235,235,
+ 235,236,236,236,237,237,237,238,238,238,239,239,239,240,240,240,241,
+ 241,241,242,242,242,243,243,243,244,244,244,145,145,145,146,146,146,
+ 146,146,146,147,147,147,147,147,147,148,148,148,149,149,149,251,251,
+ 251,252,252,252,255, 0,255,255, 0,255,255, 0,255,255, 0,255,245,
+ 245,245,234,234,234,235,235,235,236,236,236,237,237,237,238,238,238,
+ 239,239,239,240,240,240,241,241,241,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,247,247,247,248,248,248,249,
+ 249,249,250,250,250,250,250,250,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,245,245,245,233,233,233,234,234,234,235,235,235,236,236,
+ 236,141,141,141,141,141,141,142,142,142,143,143,143,143,143,143,143,
+ 143,143,144,144,144,144,144,144,145,145,145,146,146,146,146,146,146,
+ 147,147,147,147,147,147,248,248,248,249,249,249,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,245,245,245,232,232,232,233,233,233,234,
+ 234,234,235,235,235,236,236,236,237,237,237,238,238,238,238,238,238,
+ 239,239,239,240,240,240,241,241,241,242,242,242,243,243,243,244,244,
+ 244,245,245,245,246,246,246,247,247,247,247,247,247,248,248,248,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,244,231,231,231,
+ 232,232,232,233,233,233,234,234,234,235,235,235,236,236,236,140,140,
+ 140,141,141,141,141,141,141,142,142,142,143,143,143,143,143,143,144,
+ 144,144,144,144,144,145,145,145,146,146,146,146,146,146,246,246,246,
+ 247,247,247,255, 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,
+ 244,230,230,230,231,231,231,232,232,232,233,233,233,234,234,234,234,
+ 234,234,235,235,235,236,236,236,237,237,237,238,238,238,239,239,239,
+ 240,240,240,241,241,241,242,242,242,243,243,243,243,243,243,244,244,
+ 244,245,245,245,246,246,246,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,243,243,243,229,229,229,230,230,230,231,231,231,232,232,232,
+ 233,233,233,233,233,233,234,234,234,235,235,235,236,236,236,237,237,
+ 237,141,141,141,142,142,142,143,143,143,143,143,143,143,143,143,144,
+ 144,144,144,144,144,244,244,244,245,245,245,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,243,243,243,228,228,228,229,229,229,230,230,
+ 230,231,231,231,231,231,231,232,232,232,233,233,233,234,234,234,235,
+ 235,235,236,236,236,237,237,237,238,238,238,239,239,239,239,239,239,
+ 240,240,240,241,241,241,242,242,242,243,243,243,244,244,244,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,243,243,243,227,227,227,228,
+ 228,228,229,229,229,136,136,136,137,137,137,137,137,137,138,138,138,
+ 138,138,138,139,139,139,140,140,140,140,140,140,141,141,141,141,141,
+ 141,141,141,141,142,142,142,143,143,143,143,143,143,242,242,242,243,
+ 243,243,255, 0,255,255, 0,255,255, 0,255,255, 0,255,242,242,242,
+ 226,226,226,227,227,227,227,227,227,228,228,228,229,229,229,230,230,
+ 230,231,231,231,232,232,232,233,233,233,234,234,234,235,235,235,236,
+ 236,236,236,236,236,237,237,237,238,238,238,239,239,239,240,240,240,
+ 241,241,241,242,242,242,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,242,242,242,225,225,225,225,225,225,226,226,226,227,227,227,228,
+ 228,228,229,229,229,230,230,230,137,137,137,138,138,138,138,138,138,
+ 139,139,139,139,139,139,140,140,140,140,140,140,141,141,141,141,141,
+ 141,142,142,142,240,240,240,241,241,241,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,240,240,240,224,224,224,224,224,224,225,225,225,
+ 226,226,226,227,227,227,228,228,228,229,229,229,230,230,230,231,231,
+ 231,232,232,232,232,232,232,233,233,233,234,234,234,235,235,235,236,
+ 236,236,237,237,237,238,238,238,239,239,239,237,237,237,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,226,226,226,242,242,242,242,242,
+ 242,242,242,242,242,242,242,243,243,243,243,243,243,243,243,243,244,
+ 244,244,244,244,244,244,244,244,245,245,245,245,245,245,245,245,245,
+ 246,246,246,246,246,246,247,247,247,247,247,247,244,244,244,219,219,
+ 219,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255);
+{home/michael/reader/underlined.bmp}
+const
+ img_richedit_underlined: array[0..1781] of byte = (
+ 66, 77,246, 6, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0,
+ 0, 24, 0, 0, 0, 24, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0,
+ 192, 6, 0, 0, 19, 11, 0, 0, 19, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,201,201,201,237,237,237,248,248,248,245,245,245,
+ 246,246,246,247,247,247,248,248,248,248,248,248,249,249,249,250,250,
+ 250,251,251,251,252,252,252,253,253,253,254,254,254,255,255,255,255,
+ 255,255,255,255,255,255,255,255,238,238,238,189,189,189,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,246,246,246,247,247,247,248,
+ 248,248,249,249,249,250,250,250,251,251,251,252,252,252,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,236,236,
+ 236,255, 0,255,255, 0,255,255, 0,255,255, 0,255,248,248,248,241,
+ 241,241,242,242,242,192,192,192, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159,159,159,255,255,255,255,
+ 255,255,255,255,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 248,248,248,240,240,240,241,241,241,242,242,242,242,242,242,243,243,
+ 243,244,244,244,245,245,245,246,246,246,247,247,247,248,248,248,249,
+ 249,249,250,250,250,251,251,251,251,251,251,252,252,252,253,253,253,
+ 254,254,254,255,255,255,255,255,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,247,247,247,238,238,238,239,239,239,239,239,239, 44,
+ 44, 44, 13, 13, 13,234,234,234,243,243,243,244,244,244,245,245,245,
+ 246,246,246,247,247,247,247,247,247,216,216,216, 0, 0, 0, 50, 50,
+ 50,251,251,251,252,252,252,253,253,253,254,254,254,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,247,247,247,237,237,237,237,237,237,
+ 238,238,238,134,134,134, 0, 0, 0,162,162,162,242,242,242,243,243,
+ 243,244,244,244,245,245,245,245,245,245,246,246,246,124,124,124, 0,
+ 0, 0,151,151,151,250,250,250,251,251,251,252,252,252,253,253,253,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,246,246,246,235,235,
+ 235,236,236,236,237,237,237,219,219,219, 4, 4, 4, 77, 77, 77,241,
+ 241,241,242,242,242,243,243,243,244,244,244,244,244,244,245,245,245,
+ 33, 33, 33, 13, 13, 13,237,237,237,249,249,249,250,250,250,251,251,
+ 251,252,252,252,255, 0,255,255, 0,255,255, 0,255,255, 0,255,245,
+ 245,245,234,234,234,235,235,235,236,236,236,237,237,237, 76, 76, 76,
+ 7, 7, 7,225,225,225,241,241,241,242,242,242,242,242,242,243,243,
+ 243,186,186,186, 0, 0, 0,102,102,102,247,247,247,248,248,248,249,
+ 249,249,250,250,250,250,250,250,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,245,245,245,233,233,233,234,234,234,235,235,235,236,236,
+ 236,166,166,166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,200,200,246,246,246,
+ 247,247,247,248,248,248,248,248,248,249,249,249,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,245,245,245,232,232,232,233,233,233,234,
+ 234,234,235,235,235,233,233,233, 22, 22, 22, 29, 29, 29,238,238,238,
+ 239,239,239,240,240,240,208,208,208, 0, 0, 0, 53, 53, 53,244,244,
+ 244,245,245,245,246,246,246,247,247,247,247,247,247,248,248,248,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,244,231,231,231,
+ 232,232,232,233,233,233,234,234,234,235,235,235,108,108,108, 0, 0,
+ 0,184,184,184,238,238,238,239,239,239,123,123,123, 0, 0, 0,151,
+ 151,151,243,243,243,244,244,244,245,245,245,245,245,245,246,246,246,
+ 247,247,247,255, 0,255,255, 0,255,255, 0,255,255, 0,255,244,244,
+ 244,230,230,230,231,231,231,232,232,232,233,233,233,234,234,234,196,
+ 196,196, 0, 0, 0, 99, 99, 99,237,237,237,238,238,238, 37, 37, 37,
+ 16, 16, 16,232,232,232,242,242,242,243,243,243,243,243,243,244,244,
+ 244,245,245,245,246,246,246,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,243,243,243,229,229,229,230,230,230,231,231,231,232,232,232,
+ 233,233,233,233,233,233, 50, 50, 50, 20, 20, 20,233,233,233,191,191,
+ 191, 0, 0, 0,104,104,104,240,240,240,241,241,241,241,241,241,242,
+ 242,242,243,243,243,244,244,244,245,245,245,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,243,243,243,228,228,228,229,229,229,230,230,
+ 230,231,231,231,231,231,231,232,232,232,138,138,138, 0, 0, 0,175,
+ 175,175,106,106,106, 0, 0, 0,199,199,199,239,239,239,239,239,239,
+ 240,240,240,241,241,241,242,242,242,243,243,243,244,244,244,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,243,243,243,227,227,227,228,
+ 228,228,229,229,229,229,229,229,230,230,230,231,231,231,218,218,218,
+ 8, 8, 8,106,106,106, 27, 27, 27, 56, 56, 56,237,237,237,237,237,
+ 237,238,238,238,239,239,239,240,240,240,241,241,241,242,242,242,243,
+ 243,243,255, 0,255,255, 0,255,255, 0,255,255, 0,255,242,242,242,
+ 226,226,226,227,227,227,227,227,227,228,228,228,229,229,229,230,230,
+ 230,231,231,231, 81, 81, 81, 19, 19, 19, 0, 0, 0,152,152,152,236,
+ 236,236,236,236,236,237,237,237,238,238,238,239,239,239,240,240,240,
+ 241,241,241,242,242,242,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,242,242,242,225,225,225,225,225,225,226,226,226,227,227,227,228,
+ 228,228,229,229,229,230,230,230,169,169,169, 0, 0, 0, 17, 17, 17,
+ 227,227,227,234,234,234,235,235,235,236,236,236,237,237,237,238,238,
+ 238,239,239,239,240,240,240,241,241,241,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,240,240,240,224,224,224,224,224,224,225,225,225,
+ 226,226,226,227,227,227,228,228,228,229,229,229,230,230,230,231,231,
+ 231,232,232,232,232,232,232,233,233,233,234,234,234,235,235,235,236,
+ 236,236,237,237,237,238,238,238,239,239,239,237,237,237,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,226,226,226,242,242,242,242,242,
+ 242,242,242,242,242,242,242,243,243,243,243,243,243,243,243,243,244,
+ 244,244,244,244,244,244,244,244,245,245,245,245,245,245,245,245,245,
+ 246,246,246,246,246,246,247,247,247,247,247,247,244,244,244,219,219,
+ 219,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,
+ 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,
+ 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255,
+ 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255);
diff --git a/docview/components/richtext/testedit/testedit.lpi b/docview/components/richtext/testedit/testedit.lpi
new file mode 100644
index 00000000..de17125e
--- /dev/null
+++ b/docview/components/richtext/testedit/testedit.lpi
@@ -0,0 +1,88 @@
+<?xml version="1.0"?>
+<CONFIG>
+ <ProjectOptions>
+ <Version Value="9"/>
+ <General>
+ <Flags>
+ <SaveOnlyProjectUnits Value="True"/>
+ </Flags>
+ <SessionStorage Value="InProjectDir"/>
+ <MainUnit Value="0"/>
+ <UseAppBundle Value="False"/>
+ <ResourceType Value="res"/>
+ </General>
+ <i18n>
+ <EnableI18N LFM="False"/>
+ </i18n>
+ <VersionInfo>
+ <Language Value=""/>
+ <CharSet Value=""/>
+ <StringTable ProductVersion=""/>
+ </VersionInfo>
+ <BuildModes Count="1">
+ <Item1 Name="default" Default="True"/>
+ </BuildModes>
+ <PublishOptions>
+ <Version Value="2"/>
+ <IgnoreBinaries Value="False"/>
+ <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
+ <ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
+ </PublishOptions>
+ <RunParams>
+ <local>
+ <FormatVersion Value="1"/>
+ <CommandLineParams Value="/home/michael/source/fpgui/docview/components/richtext/testapp/sample01.txt"/>
+ <LaunchingApplication PathPlusParams="/usr/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
+ </local>
+ </RunParams>
+ <RequiredPackages Count="2">
+ <Item1>
+ <PackageName Value="fpgui_richtext"/>
+ </Item1>
+ <Item2>
+ <PackageName Value="fpgui_toolkit"/>
+ </Item2>
+ </RequiredPackages>
+ <Units Count="3">
+ <Unit0>
+ <Filename Value="testedit.lpr"/>
+ <IsPartOfProject Value="True"/>
+ <UnitName Value="testedit"/>
+ </Unit0>
+ <Unit1>
+ <Filename Value="frarichtextedit.pas"/>
+ <IsPartOfProject Value="True"/>
+ <UnitName Value="frarichtextedit"/>
+ </Unit1>
+ <Unit2>
+ <Filename Value="img_richedit.inc"/>
+ <IsPartOfProject Value="True"/>
+ </Unit2>
+ </Units>
+ </ProjectOptions>
+ <CompilerOptions>
+ <Version Value="11"/>
+ <SearchPaths>
+ <IncludeFiles Value="$(ProjOutDir)"/>
+ </SearchPaths>
+ <Other>
+ <CompilerMessages>
+ <UseMsgFile Value="True"/>
+ </CompilerMessages>
+ <CompilerPath Value="$(CompPath)"/>
+ </Other>
+ </CompilerOptions>
+ <Debugging>
+ <Exceptions Count="3">
+ <Item1>
+ <Name Value="EAbort"/>
+ </Item1>
+ <Item2>
+ <Name Value="ECodetoolError"/>
+ </Item2>
+ <Item3>
+ <Name Value="EFOpenError"/>
+ </Item3>
+ </Exceptions>
+ </Debugging>
+</CONFIG>
diff --git a/docview/components/richtext/testedit/testedit.lpr b/docview/components/richtext/testedit/testedit.lpr
new file mode 100644
index 00000000..c2dba52a
--- /dev/null
+++ b/docview/components/richtext/testedit/testedit.lpr
@@ -0,0 +1,176 @@
+program testboard;
+
+{$mode objfpc}{$H+}
+
+uses {$IFDEF UNIX} {$IFDEF UseCThreads}
+ cthreads, {$ENDIF} {$ENDIF}
+ Classes,
+ SysUtils,
+ fpg_base,
+ fpg_tab,
+ fpg_button,
+ fpg_panel,
+ fpg_main,
+ fpg_memo,
+ fpg_form,
+ fpg_dialogs,
+ fpg_menu,
+ RichTextView, frarichtextedit,
+ fpg_imagelist,
+ fpg_imgfmt_bmp,
+ fpg_imgfmt_png,
+ fpg_imgfmt_jpg;
+
+type
+
+ {@VFD_NEWFORM_DECL}
+ { TMainForm }
+
+ TMainForm = class(TfpgForm)
+ procedure DoNewFile(Sender: TObject);
+ procedure DoOpenFile(Sender: TObject);
+ procedure DoQuit(Sender: TObject);
+ procedure DoSaveFile(Sender: TObject);
+ private
+ procedure LoadFile(const AFileName: String);
+ procedure SaveFile(const AFileName: String);
+ public
+ FMenu : TfpgMenuBar;
+ MFile,
+ MNew,
+ MOpen,
+ MSave,
+ MQuit: TfpgMenuItem;
+ FFileName : string;
+ {@VFD_HEAD_BEGIN: MainForm}
+ FEdit : TRichTextEditFrame;
+ {@VFD_HEAD_END: MainForm}
+ procedure AfterCreate; override;
+ end;
+
+
+
+ {@VFD_NEWFORM_IMPL}
+
+procedure TMainForm.DoNewFile(Sender: TObject);
+begin
+ FEdit.RichText:='';
+ FFileName:='';
+ WindowTitle:='Editing new file';
+end;
+
+procedure TMainForm.LoadFile(COnst AFileName :String);
+
+Var
+ L : TStrings;
+
+begin
+ FFileName:=AFileName;
+ L:=TstringList.Create;
+ try
+ L.LoadFromFile(AFileName);
+ fedit.RichText:=l.text;
+ finally
+ L.Free;
+ end;
+ WindowTitle:='Editing '+AFileName;
+end;
+
+procedure TMainForm.SaveFile(COnst AFileName :String);
+
+Var
+ L : TStrings;
+
+begin
+ FFileName:=AFileName;
+ L:=TstringList.Create;
+ try
+ l.text:=fedit.RichText;
+ L.SaveToFile(AFileName);
+ finally
+ L.Free;
+ end;
+ WindowTitle:='Editing '+AFileName;
+end;
+
+
+procedure TMainForm.DoOpenFile(Sender: TObject);
+
+Var
+ FN : String;
+
+begin
+ FN:=SelectFileDialog(sfdOpen,'text files|*.txt|All files|'+AllFilesMask,'');
+ if (FN<>'') then
+ LoadFile(FN);
+end;
+
+procedure TMainForm.DoQuit(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TMainForm.DoSaveFile(Sender: TObject);
+Var
+ FN : String;
+
+begin
+ FN:=SelectFileDialog(sfdSave,'text files|*.txt|All files|'+AllFilesMask,'');
+ if (FN<>'') then
+ SaveFile(FN);
+end;
+
+procedure TMainForm.AfterCreate;
+var
+ I, J: integer;
+ img: tfpgimage;
+ S: string;
+begin
+ FMenu:=TfpgMenuBar.Create(Self);
+ FMenu.SetPosition(0,0,Self.width,30);
+ FMenu.align:=alTop;
+ MFile:=FMenu.AddMenuItem('File',Nil);
+ MFile.SubMenu:=TfpgPopupMenu.Create(MFile);
+ MNew:=MFile.SubMenu.AddMenuItem('&New','ctrl-n',@DoNewFile);
+ MOpen:=MFile.SubMenu.AddMenuItem('&Open','ctrl-o',@DoOpenFile);
+ MSave:=MFile.SubMenu.AddMenuItem('&Save','ctrl-s',@DoSaveFile);
+ MQuit:=MFile.SubMenu.AddMenuItem('&Quit','ctrl-q',@DoQuit);
+ Fedit:=TRichTextEditFrame.Create(Self);
+ Fedit.SetPosition(0,FMenu.Height,Self.width,Self.Height-FMenu.Height);
+ Fedit.align:=alClient;
+ {%region 'Auto-generated GUI code' }
+
+ {@VFD_BODY_BEGIN: MainForm}
+ Name := 'MainForm';
+ SetPosition(496, 295, 739, 502);
+ WindowTitle := 'Editing new file';
+ Hint := '';
+
+ {@VFD_BODY_END: MainForm}
+ {%endregion}
+end;
+
+
+
+procedure MainProc;
+var
+ frm: TMainForm;
+
+begin
+ fpgApplication.Initialize;
+ RegisterStdRichTextImages;
+ frm := TMainForm.Create(nil);
+ try
+ frm.Show;
+ if (ParamCount=1) and FileExists(ParamStr(1)) then
+ frm.LoadFile(Paramstr(1));
+ fpgApplication.Run;
+ finally
+ frm.Free;
+ end;
+end;
+
+begin
+ MainProc;
+end.
+
diff --git a/docview/docs/docview.ipf b/docview/docs/docview.ipf
index 94099582..c916787d 100644
--- a/docview/docs/docview.ipf
+++ b/docview/docs/docview.ipf
@@ -136,7 +136,7 @@ The following trademarks are used in this online help file:
.* ************************************************************
.* Using DocView
.* ************************************************************
-:h1 res=2 id='Using'.Using &dv.
+:h1 res=2 id='Using'.Using DocView
:hp2.Using &dv.:ehp2.
:p.
Once you have :link reftype=hd refid='OpeningFiles'.opened a
@@ -169,8 +169,7 @@ Colours and some of the behaviour of &dv. can be adjusted from the "Tools
.* ************************************************************
.* Opening Help File
.* ************************************************************
-:h1 res=3 id='OpeningFiles'.
-Opening Files
+:h1 res=3 id='OpeningFiles'.Opening Files
:i1 id=30005.open
:p.:hp2.Opening Help Files:ehp2.
:p.
diff --git a/docview/src/CompareWordUnit.pas b/docview/src/CompareWordUnit.pas
index 49c2ea26..05f32cc8 100644
--- a/docview/src/CompareWordUnit.pas
+++ b/docview/src/CompareWordUnit.pas
@@ -2,11 +2,7 @@ Unit CompareWordUnit;
{$mode objfpc}{$H+}
-// NewView - a new OS/2 Help Viewer
-// Copyright 2001 Aaron Lawrence (aaronl at consultant dot com)
-// This software is released under the Gnu Public License - see readme.txt
-
-Interface
+interface
// Compares words and produces a match level (relevance) based
// on the relative sizes etc. Used in searching help files
@@ -21,15 +17,15 @@ const
// Compares the given search word against the given
// reference word. Returns a value indicating how well the
// search word matches, 0 = not at all.
-function CompareWord( const SearchWord: string;
- const ReferenceWord: string ): longint;
+function CompareWord( const SearchWord: string; const ReferenceWord: string ): longint;
+
-Implementation
+implementation
uses
SysUtils;
-// LOoks for string a within string b, case insensitively
+// Looks for string a within string b, case insensitively
function CaseInsensitivePos( const a, b: string ): longint;
begin
// Budget implementation to begin with.
@@ -63,21 +59,16 @@ begin
if OccurrencePos = 1 then
begin
// word starts with searchword
- Result := mwWordStart
- * Length( SearchWord )
- div Length( ReferenceWord );
+ Result := mwWordStart * Length(SearchWord) div Length(ReferenceWord);
if Result = 0 then
Result := 1;
exit;
end;
// Matched searchword somewhere within word
- Result := mwWordWithin
- * Length( SearchWord )
- div Length( ReferenceWord );
+ Result := mwWordWithin * Length(SearchWord) div Length(ReferenceWord);
if Result = 0 then
Result := 1;
-
end;
{// Note: searchstring must be uppercase,
@@ -103,5 +94,6 @@ begin
end;
end;
}
-Initialization
-End.
+
+end.
+
diff --git a/docview/src/HelpBitmap.pas b/docview/src/HelpBitmap.pas
index 692bf64d..45855a1f 100644
--- a/docview/src/HelpBitmap.pas
+++ b/docview/src/HelpBitmap.pas
@@ -83,7 +83,7 @@ type
_UncompressedBlockSize: longint;
function GetPaletteSize: longint;
procedure BitmapError(Msg: string);
- procedure ReadBitmapData( Blocks: TList; TotalSize: longint );
+ procedure ReadBitmapData( Blocks: TList; TotalSize: longword);
public
constructor CreateFromHelpFile(var AFileHandle: TFileStream; Offset: longint);
destructor Destroy; override;
@@ -267,7 +267,7 @@ begin
inherited Destroy;
end;
-procedure THelpBitmap.ReadBitmapData( Blocks: TList; TotalSize: longint );
+procedure THelpBitmap.ReadBitmapData( Blocks: TList; TotalSize: longword );
var
BytesWritten: longint;
BytesWrittenFromBlock: longword;
diff --git a/docview/src/HelpFile.pas b/docview/src/HelpFile.pas
index ce3d9f8a..6e1a40d6 100644
--- a/docview/src/HelpFile.pas
+++ b/docview/src/HelpFile.pas
@@ -9,6 +9,7 @@ interface
uses
Classes
,SysUtils
+ ,fpg_base
,fpg_imagelist
,IPFFileFormatUnit
,HelpTopic
@@ -18,9 +19,6 @@ uses
type
- TFontEncoding = (encUTF8, encCP437, encCP850, encIBMGraph);
-
-
TIndexEntry = class(TObject)
private
name: String;
@@ -132,6 +130,7 @@ type
property Title: string read _Title;
property Topics[ Index: longint ]: TTopic read GetTopic;
property TopicList: TList read _Topics;
+ property FontTable: TList read _FontTable;
property TopicCount: longint read GetTopicCount;
property StringResourceIDCount: integer read GetStringResourceIDCount;
property NumericResourceIDCount: integer read GetNumericResourceIDCount;
@@ -173,7 +172,7 @@ type
procedure SetupFontSubstitutes( Substitutions: string );
public
NotesLoaded: boolean; // used externally
- Encoding: TFontEncoding;
+ Encoding: TfpgTextEncoding;
end;
// Returns helpfile that the given topic is within
@@ -396,14 +395,7 @@ begin
begin
lText := TTopic(TopicList[i]).Title;
// apply encoding conversion
- case Encoding of
- encUTF8: lText := IPFToUTF8(lText);
- encCP437: lText := CP437ToUTF8(lText);
- encCP850: lText := CP850ToUTF8(lText);
- encIBMGraph: lText := IBMGraphToUTF8(lText);
- else
- lText := IPFToUTF8(lText);
- end;
+ lText := ConvertTextToUTF8(Encoding, lText);
TTopic(TopicList[i]).Title := lText;
end;
except
@@ -663,7 +655,6 @@ var
pEnd: pByte;
pIndexData: pointer;
tmpIndexEntry: TIndexEntry;
- lText: string;
begin
LogEvent(LogParse, 'Read index');
_Index := TIndex.Create;
@@ -694,15 +685,7 @@ begin
if pEntryHeader^.TOCIndex < _Topics.Count then
begin
// apply encoding conversion
- case Encoding of
- encUTF8: lText := IPFToUTF8(EntryText);
- encCP437: lText := CP437ToUTF8(EntryText);
- encCP850: lText := CP850ToUTF8(EntryText);
- encIBMGraph: lText := IBMGraphToUTF8(EntryText);
- else
- lText := IPFToUTF8(EntryText);
- end;
- EntryText := lText;
+ EntryText := ConvertTextToUTF8(Encoding, EntryText);
tmpIndexEntry := TIndexEntry.Create(EntryText, TTopic(_Topics[pEntryHeader^.TOCIndex]), pEntryHeader^.flags);
_Index.Add(tmpIndexEntry);
end
@@ -1067,10 +1050,11 @@ begin
begin
pFontSpec := p + i * sizeof( THelpFontSpec );
_FontTable.Add( pFontSpec );
- if pFontSpec^.CodePage = 850 then
- Encoding := encCP850
- else if pFontSpec^.CodePage = 437 then
- Encoding := encCP437;
+ case pFontSpec^.CodePage of
+ 437: Encoding := encCP437;
+ 850: Encoding := encCP850;
+ 866: Encoding := encCP866;
+ end;
end;
end;
diff --git a/docview/src/HelpTopic.pas b/docview/src/HelpTopic.pas
index a9b981f1..8b12b569 100644
--- a/docview/src/HelpTopic.pas
+++ b/docview/src/HelpTopic.pas
@@ -235,6 +235,8 @@ uses
,nvUtilities
,ACLStringUtility
,SettingsUnit
+ ,fpg_stringutils
+ ,HelpFile
;
const
@@ -2544,7 +2546,10 @@ begin
// normal lookup
if GlobalDictIndex < _GlobalDictionary.Count then
- StringToAdd := _GlobalDictionary[ GlobalDictIndex ]
+ begin
+ StringToAdd := _GlobalDictionary[ GlobalDictIndex ];
+ StringToAdd := ConvertTextToUTF8(THelpFile(HelpFile).Encoding, StringToAdd);
+ end
else
StringToAdd := '';
diff --git a/docview/src/SearchUnit.pas b/docview/src/SearchUnit.pas
index ec333406..5f40f641 100644
--- a/docview/src/SearchUnit.pas
+++ b/docview/src/SearchUnit.pas
@@ -2,9 +2,11 @@ Unit SearchUnit;
{$mode objfpc}{$H+}
-// NewView - a new OS/2 Help Viewer
-// Copyright 2003 Aaron Lawrence (aaronl at consultant dot com)
-// This software is released under the Gnu Public License - see readme.txt
+{ TODO: Possible speed improvement here is to populate the DictionaryWords
+ array with already UTF8 text encoded words. That way we don't need
+ to do conversions each time for each word we search for. This should
+ be a nice speed impromevent.
+}
Interface
@@ -52,6 +54,7 @@ uses
,CompareWordUnit
,nvUtilities
,ACLStringUtility
+ ,fpg_stringutils
;
type
@@ -129,6 +132,8 @@ begin
for DictIndex := 0 to HelpFile.DictionaryCount - 1 do
begin
DictWord := HelpFile.DictionaryWords[ DictIndex ];
+ // apply encoding conversion
+ DictWord := ConvertTextToUTF8(HelpFile.Encoding, DictWord);
Results^[ DictIndex ] := CompareWord( SearchWord, DictWord );
end;
end;
@@ -147,6 +152,8 @@ begin
for DictIndex := 0 to HelpFile.DictionaryCount - 1 do
begin
DictWord := HelpFile.DictionaryWords[ DictIndex ];
+ // apply encoding conversion
+ DictWord := ConvertTextToUTF8(HelpFile.Encoding, DictWord);
if SameText( SearchWord, DictWord ) then
Results^[ DictIndex ] := mwExactWord;
end;
@@ -166,6 +173,8 @@ begin
for DictIndex := 0 to HelpFile.DictionaryCount - 1 do
begin
DictWord := HelpFile.DictionaryWords[ DictIndex ];
+ // apply encoding conversion
+ DictWord := ConvertTextToUTF8(HelpFile.Encoding, DictWord);
if StrStartsWithIgnoringCase(DictWord, SearchWord) then
Results^[ DictIndex ] := MatchedWordRelevance( SearchWord, DictWord );
end;
@@ -185,6 +194,8 @@ begin
for DictIndex := 0 to HelpFile.DictionaryCount - 1 do
begin
DictWord := HelpFile.DictionaryWords[ DictIndex ];
+ // apply encoding conversion
+ DictWord := ConvertTextToUTF8(HelpFile.Encoding, DictWord);
if StrEndsWithIgnoringCase( SearchWord, DictWord ) then
Results^[ DictIndex ] := MatchedWordRelevance( SearchWord, DictWord );
end;
diff --git a/docview/src/SettingsUnit.pas b/docview/src/SettingsUnit.pas
index 43083709..0825b10b 100644
--- a/docview/src/SettingsUnit.pas
+++ b/docview/src/SettingsUnit.pas
@@ -13,7 +13,6 @@ Uses
,fpg_base
,fpg_main
,CanvasFontManager
- ,HelpFile
;
Const
@@ -95,7 +94,7 @@ type
GlobalSearchLocation: TGlobalSearchLocation;
SearchDirectories: TStringList;
IPFTopicSaveAsEscaped: boolean;
- Encoding: TFontEncoding;
+ Encoding: TfpgTextEncoding;
end;
diff --git a/docview/src/docview.rc b/docview/src/docview.rc
index 34ed0c18..749a08de 100644
--- a/docview/src/docview.rc
+++ b/docview/src/docview.rc
@@ -1,8 +1,8 @@
MAINICON ICON "../images/docview-48x48.ico"
1 VERSIONINFO
-FILEVERSION 1, 0, 0, 0
-PRODUCTVERSION 1, 0, 0, 0
+FILEVERSION 1, 2, 0, 0
+PRODUCTVERSION 1, 2, 0, 0
FILEFLAGSMASK 0
FILEOS 0x40000
FILETYPE 1
@@ -13,12 +13,12 @@ FILETYPE 1
{
VALUE "CompanyName", "fpGUI Toolkit"
VALUE "FileDescription", "fpGUI's INF Documentation Viewer"
- VALUE "FileVersion", "1.0.0"
+ VALUE "FileVersion", "1.2.0"
VALUE "InternalName", "docview"
VALUE "LegalCopyright", "GNU Public License"
VALUE "OriginalFilename", "docview"
VALUE "ProductName", "fpGUI Toolkit"
- VALUE "ProductVersion", "1.0.0"
+ VALUE "ProductVersion", "1.2.0"
}
}
BLOCK "VarFileInfo"
diff --git a/docview/src/extrafpc.cfg b/docview/src/extrafpc.cfg
index f23067ff..f5c8d3a4 100644
--- a/docview/src/extrafpc.cfg
+++ b/docview/src/extrafpc.cfg
@@ -6,3 +6,7 @@
-Xs
-XX
-CX
+#ifdef mswindows
+-WG
+#endif
+
diff --git a/docview/src/frm_main.pas b/docview/src/frm_main.pas
index 97a9fd04..802c3600 100644
--- a/docview/src/frm_main.pas
+++ b/docview/src/frm_main.pas
@@ -105,6 +105,9 @@ type
Bookmarks: TList;
BookmarksMenuItems: TList;
+ procedure RichViewDragDrop(Sender, Source: TObject; X, Y: integer; AData: variant);
+ procedure tvContentsDragDrop(Sender, Source: TObject; X, Y: integer; AData: variant);
+ procedure tvContentsDragEntered(Sender, Source: TObject; AMimeList: TStringList; var AMimeChoice: TfpgString; var ADropAction: TfpgDropAction; var Accept: Boolean);
procedure Splitter1DoubleClicked(Sender: TObject; AButton: TMouseButton; AShift: TShiftState; const AMousePos: TPoint);
procedure btnTBNoteAddClick(Sender: TObject);
procedure RichViewOverLink(Sender: TRichTextView; Link: string);
@@ -148,7 +151,7 @@ type
procedure miHelpAboutFPGui(Sender: TObject);
procedure miHelpCmdLineParams(Sender: TObject);
procedure miHelpUsingDocView(Sender: TObject);
- procedure miDebugHeader(Sender: TObject);
+ procedure miShowFileInfoClicked(Sender: TObject);
procedure miDebugHex(Sender: TObject);
procedure miToolsFindByResourceID(Sender: TObject);
procedure miToolsFindTopifByName(Sender: TObject);
@@ -328,6 +331,77 @@ begin
btnNext.Click;
end;
+{ If you drop on RichView, only load the first INF file (closing all others
+ first. If you want multiple files or add more files, drop on Contents
+ TreeView. }
+procedure TMainForm.RichViewDragDrop(Sender, Source: TObject; X, Y: integer;
+ AData: variant);
+var
+ s: string;
+ i: integer;
+ sl: TStringList;
+begin
+ sl := TStringList.Create;
+ sl.Text := Trim(AData);
+ try
+ for i := 0 to sl.Count-1 do
+ begin
+ s := sl[i];
+ if not SameText(fpgExtractFileExt(s), '.inf') then
+ Exit; //==>
+ s := StringReplace(s, 'file://', '', [rfIgnoreCase]);
+ OpenFile(s, '', false);
+ Break;
+ end;
+ finally
+ sl.Free;
+ end;
+end;
+
+procedure TMainForm.tvContentsDragDrop(Sender, Source: TObject; X, Y: integer;
+ AData: variant);
+var
+ s: string;
+ i: integer;
+ sl: TStringList;
+begin
+ sl := TStringList.Create;
+ sl.Text := Trim(AData);
+ OpenAdditionalFile := True;
+ try
+ for i := 0 to sl.Count-1 do
+ begin
+ s := sl[i];
+ if not SameText(fpgExtractFileExt(s), '.inf') then
+ Exit; //==>
+ s := StringReplace(s, 'file://', '', [rfIgnoreCase]);
+ OpenFile(s, '', false);
+ end;
+ finally
+ OpenAdditionalFile := False;
+ sl.Free;
+ end;
+end;
+
+procedure TMainForm.tvContentsDragEntered(Sender, Source: TObject;
+ AMimeList: TStringList; var AMimeChoice: TfpgString;
+ var ADropAction: TfpgDropAction; var Accept: Boolean);
+var
+ i: integer;
+ s: string;
+begin
+ { the mime type we want to accept }
+ s := 'text/uri-list';
+ { if we wil accept the drop, set Accept to True }
+ Accept := AMimeList.IndexOf(s) > -1;
+ if Accept then
+ begin
+ { If the offered mime type is different, request our preference }
+ if AMimeChoice <> s then
+ AMimeChoice := s;
+ end;
+end;
+
procedure TMainForm.Splitter1DoubleClicked(Sender: TObject;
AButton: TMouseButton; AShift: TShiftState; const AMousePos: TPoint);
begin
@@ -732,11 +806,12 @@ begin
OpenFile(OWN_HELP_MARKER, '', True);
end;
-procedure TMainForm.miDebugHeader(Sender: TObject);
+procedure TMainForm.miShowFileInfoClicked(Sender: TObject);
var
f: THelpFile;
- i: integer;
+ i, j: integer;
sl: TStringList;
+ pFontSpec: pTHelpFontSpec;
begin
RichView.Clear;
sl := TStringList.Create;
@@ -750,7 +825,13 @@ begin
Add('<b><u>Filename:</u></b> <blue>' + f.Filename + '</blue>');
Add('<b>Title:</b> ' + f.Title);
Add('<b>File size:</b> ' + IntToStr(fpgFileSize(f.Filename)) + ' bytes');
- Add('<b>INF/HLP file version</b> ' + f.FormatVersion);
+ Add('<b>INF/HLP file version:</b> ' + f.FormatVersion);
+ Add('<b>Font table:</b> ');
+ for j := 0 to f.FontTable.Count-1 do
+ begin
+ pFontSpec := f.FontTable[j];
+ Add(Format(' %s (%d x %d), codepage: %d', [pFontSpec^.FaceName, pFontSpec^.Width, pFontSpec^.Height, pFontSpec^.Codepage]));
+ end;
Add('<b>Dictionary count:</b> ' + IntToStr(f.DictionaryCount));
Add('<b>Topic count:</b> ' + IntToStr(f.TopicCount));
Add('<b>Index count:</b> ' + IntToStr(f.Index.Count));
@@ -1174,7 +1255,7 @@ end;
procedure TMainForm.cbEncodingChanged(Sender: TObject);
begin
- Settings.Encoding := TFontEncoding(cbEncoding.FocusItem);
+ Settings.Encoding := TfpgTextEncoding(cbEncoding.FocusItem);
DisplayTopic(CurrentTopic);
end;
@@ -1326,7 +1407,7 @@ begin
if SearchText = '' then
begin
ClearAllWordSequences;
- exit;
+ exit; //==>
end;
lbSearchResults.Items.Add(rsDVSearchingMsg);
@@ -1338,7 +1419,7 @@ begin
on e: ESearchSyntaxError do
begin
TfpgMessageDialog.Critical( rsSearch, rsDVSearchSyntaxError + e.Message );
- exit;
+ exit; //==>
end;
end;
@@ -1348,7 +1429,7 @@ begin
SearchResults := TList.Create;
- // Search open help file
+ // Search open help files
for FileIndex := 0 to CurrentOpenFiles.Count - 1 do
begin
HelpFile := THelpFile(CurrentOpenFiles[ FileIndex ]);
@@ -1364,7 +1445,7 @@ begin
TfpgMessageDialog.Critical(rsError , E.Message);
Query.Destroy;
ClearWaitCursor;
- exit;
+ exit; //==>
end;
end;
@@ -2264,7 +2345,6 @@ var
Note: THelpNote;
NotesFile: TStringList;
TopicIndex: integer;
- s: TfpgString;
begin
ProfileEvent('Save notes for ' + AHelpFile.Filename);
if not AHelpFile.NotesLoaded then
@@ -2465,8 +2545,6 @@ procedure TMainForm.DisplayTopic(ATopic: TTopic);
var
lText: String;
ImageIndices: TList;
- LinkIndex: longint;
- Link: THelpLink;
HelpFile: THelpFile;
Topic: TTopic;
HighlightWordSequences: TList;
@@ -2569,14 +2647,7 @@ begin
ImageIndices.Free;
// apply encoding conversion
- case Settings.Encoding of
- encUTF8: lText := IPFToUTF8(lText);
- encCP437: lText := CP437ToUTF8(lText);
- encCP850: lText := CP850ToUTF8(lText);
- encIBMGraph: lText := IBMGraphToUTF8(lText);
- else
- lText := IPFToUTF8(lText);
- end;
+ lText := ConvertTextToUTF8(Settings.Encoding, lText);
{ Load and insert annotations / notes }
if not HelpFile.NotesLoaded then
@@ -2709,6 +2780,7 @@ begin
WindowPosition := wpUser;
MinWidth := 430;
MinHeight := 300;
+ DNDEnabled := True;
OnCloseQuery := @MainFormCloseQuery;
bvlStatusBar := TfpgBevel.Create(self);
@@ -2783,8 +2855,11 @@ begin
ScrollWheelDelta := 60;
ShowImages := True;
TabOrder := 0;
+ AcceptDrops := True;
OnChange := @tvContentsChange;
//OnDoubleClick := @tvContentsDoubleClick;
+ OnDragEnter := @tvContentsDragEntered;
+ OnDragDrop := @tvContentsDragDrop;
end;
btnGo := TfpgButton.Create(tsContents);
@@ -3158,9 +3233,12 @@ begin
SetPosition(77, 188, 244, 92);
TabOrder := 2;
Align := alClient;
+ AcceptDrops := True;
OnOverLink := @RichViewOverLink;
OnNotOverLink := @RichViewNotOverLink;
OnClickLink := @RichViewClickLink;
+ OnDragEnter := @tvContentsDragEntered;
+ OnDragDrop := @RichViewDragDrop;
end;
MainMenu := TfpgMenuBar.Create(self);
@@ -3239,7 +3317,7 @@ begin
begin
Name := 'miTools';
SetPosition(428, 96, 120, 20);
- AddMenuItem('Show file info', '', @miDebugHeader);
+ AddMenuItem('Show file info', '', @miShowFileInfoClicked);
AddMenuItem('Find topic by resource ID', '', @miToolsFindByResourceID);
AddMenuItem('Find topic by resource name', '', @miToolsFindTopifByName);
miDebugHexInfo := AddMenuItem('Toggle hex INF values in contents', '', @miDebugHex);
@@ -3467,6 +3545,8 @@ begin
Items.Add('UTF-8');
Items.Add('CP437');
Items.Add('CP850');
+ Items.Add('CP866');
+ Items.Add('CP1250');
Items.Add('IBM Graph (cp437)');
FocusItem := 0;
TabOrder := 10;
@@ -3840,6 +3920,7 @@ begin
if not fpgFileExists( BookmarksFileName ) then
Exit;
+ {$NOTE: Replace this with TStringList or TStringStream.}
FileMode := fmInput;
AssignFile( BookmarksFile, BookmarksFileName );
try