


























//刷新字体缓存 fc-cache -fv ~/.fonts //查看系统中的中文字体 fc-list : lang=zh-cn
{$ifdef linux}
familyItem := FontCollection.Family[Font.Name];
if familyItem=nil then
begin
lfname:=Font.Name;
//中文字体名称
if SameText(lfname,'宋体') then
lfname:='SimSun'
else if SameText(lfname,'黑体') then
lfname:='SimHei'
else if SameText(lfname,'楷体') then
lfname:='KaiTi'
else if SameText(lfname,'仿宋_GB2312') then
lfname:='FangSong_GB2312'
else if SameText(lfname,'楷体_GB2312') then
lfname:='KaiTi_GB2312'
else if SameText(lfname,'幼圆') then
lfname:='YouYuan'
else if SameText(lfname,'新宋体') then
lfname:='NSimSun'
else if SameText(lfname,'隶书') then
lfname:='LiSu'
else if SameText(lfname,'微软雅黑') then
lfname:='Microsoft YaHei UI';
familyItem := FontCollection.Family[lfname];
if familyItem=nil then
begin
//中文字体乱码 fastreport4格式
lfname:=UTF8ToCP936(Font.Name);
if SameText(lfname,'宋体') then
lfname:='SimSun'
else if SameText(lfname,'黑体') then
lfname:='SimHei'
else if SameText(lfname,'楷体') then
lfname:='KaiTi'
else if SameText(lfname,'仿宋_GB2312') then
lfname:='FangSong_GB2312'
else if SameText(lfname,'楷体_GB2312') then
lfname:='KaiTi_GB2312'
else if SameText(lfname,'幼圆') then
lfname:='YouYuan'
else if SameText(lfname,'新宋体') then
lfname:='NSimSun'
else if SameText(lfname,'隶书') then
lfname:='LiSu'
else if SameText(lfname,'微软雅黑') then
lfname:='Microsoft YaHei UI';
familyItem := FontCollection.Family[lfname];
if familyItem = nil then
begin
familyItem := FontCollection.Family[SwapFontName];
if familyItem = nil then
raise Exception.CreateFmt('Cant swap font 1.%s 2.%s 3.%s',[Font.Name,lfname,SwapFontName]);
end;
end;
end;
Result := familyItem.FamilyName;
{$else}
familyItem := FontCollection.Family[Font.Name];
if familyItem = nil then
begin
familyItem := FontCollection.Family[SwapFontName];
if familyItem = nil then
raise Exception.Create('Cant swap font');
end;
Result := familyItem.FamilyName;
{$endif}
酒肉穿肠过 佛祖心中留 世人若学我 如同入魔道
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。