1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-10-31 15:36:07 +00:00

Embed font ok sur uwp mais pas sur android

This commit is contained in:
Yan Maniez 2019-04-24 21:22:45 +02:00
parent dd4c0ca6f9
commit 3faa1d28f4
28 changed files with 72 additions and 9 deletions

View file

@ -89,6 +89,9 @@
<PackageReference Include="System.Memory"> <PackageReference Include="System.Memory">
<Version>4.5.2</Version> <Version>4.5.2</Version>
</PackageReference> </PackageReference>
<PackageReference Include="System.Text.Encoding.CodePages">
<Version>4.5.1</Version>
</PackageReference>
<PackageReference Include="Xamarin.Essentials"> <PackageReference Include="Xamarin.Essentials">
<Version>1.1.0</Version> <Version>1.1.0</Version>
</PackageReference> </PackageReference>

View file

@ -191,7 +191,7 @@
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="System.Text.Encoding.CodePages, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Text.Encoding.CodePages, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Text.Encoding.CodePages.4.5.0\lib\net461\System.Text.Encoding.CodePages.dll</HintPath> <HintPath>..\..\packages\System.Text.Encoding.CodePages.4.5.1\lib\net461\System.Text.Encoding.CodePages.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Threading.Tasks.Extensions, Version=4.2.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Threading.Tasks.Extensions.4.6.0-preview.18571.3\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath> <HintPath>..\..\packages\System.Threading.Tasks.Extensions.4.6.0-preview.18571.3\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>

View file

@ -42,7 +42,7 @@
<package id="System.Numerics.Vectors" version="4.6.0-preview3.19128.7" targetFramework="net471" /> <package id="System.Numerics.Vectors" version="4.6.0-preview3.19128.7" targetFramework="net471" />
<package id="System.Runtime.CompilerServices.Unsafe" version="4.6.0-preview3.19128.7" targetFramework="net471" /> <package id="System.Runtime.CompilerServices.Unsafe" version="4.6.0-preview3.19128.7" targetFramework="net471" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net471" /> <package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net471" />
<package id="System.Text.Encoding.CodePages" version="4.5.0" targetFramework="net471" /> <package id="System.Text.Encoding.CodePages" version="4.5.1" targetFramework="net471" />
<package id="System.Threading.Tasks.Extensions" version="4.6.0-preview.18571.3" targetFramework="net471" /> <package id="System.Threading.Tasks.Extensions" version="4.6.0-preview.18571.3" targetFramework="net471" />
<package id="Xamarin.Essentials" version="1.1.0" targetFramework="net471" /> <package id="Xamarin.Essentials" version="1.1.0" targetFramework="net471" />
<package id="Xamarin.Forms" version="4.0.0.346134-pre9" targetFramework="net471" /> <package id="Xamarin.Forms" version="4.0.0.346134-pre9" targetFramework="net471" />

View file

@ -221,6 +221,9 @@
<PackageReference Include="sqlite-net-pcl"> <PackageReference Include="sqlite-net-pcl">
<Version>1.6.258-beta</Version> <Version>1.6.258-beta</Version>
</PackageReference> </PackageReference>
<PackageReference Include="System.Text.Encoding.CodePages">
<Version>4.5.1</Version>
</PackageReference>
<PackageReference Include="Xamarin.Essentials"> <PackageReference Include="Xamarin.Essentials">
<Version>1.1.0</Version> <Version>1.1.0</Version>
</PackageReference> </PackageReference>

View file

@ -142,6 +142,9 @@
<PackageReference Include="sqlite-net-pcl"> <PackageReference Include="sqlite-net-pcl">
<Version>1.6.258-beta</Version> <Version>1.6.258-beta</Version>
</PackageReference> </PackageReference>
<PackageReference Include="System.Text.Encoding.CodePages">
<Version>4.5.1</Version>
</PackageReference>
<PackageReference Include="Xamarin.Essentials"> <PackageReference Include="Xamarin.Essentials">
<Version>1.1.0</Version> <Version>1.1.0</Version>
</PackageReference> </PackageReference>

View file

@ -21,12 +21,48 @@
<ItemGroup> <ItemGroup>
<None Remove="OGL.txt" /> <None Remove="OGL.txt" />
<None Remove="Pdf\178_hd_01_feuille_de_perso_v1.pdf" /> <None Remove="Pdf\178_hd_01_feuille_de_perso_v1.pdf" />
<None Remove="Pdf\AlverataIrregularPEMedium.ttf" />
<None Remove="Pdf\LinLibertine_aBL.ttf" />
<None Remove="Pdf\LinLibertine_aBS.ttf" />
<None Remove="Pdf\LinLibertine_aDRS.ttf" />
<None Remove="Pdf\LinLibertine_aRL.ttf" />
<None Remove="Pdf\LinLibertine_aS.ttf" />
<None Remove="Pdf\LinLibertine_aSI.ttf" />
<None Remove="Pdf\LinLibertine_aSZI.ttf" />
<None Remove="Pdf\LinLibertine_aZL.ttf" />
<None Remove="Pdf\LinLibertine_DR.ttf" />
<None Remove="Pdf\LinLibertine_I.ttf" />
<None Remove="Pdf\LinLibertine_R.ttf" />
<None Remove="Pdf\LinLibertine_RB.ttf" />
<None Remove="Pdf\LinLibertine_RBI.ttf" />
<None Remove="Pdf\LinLibertine_RI.ttf" />
<None Remove="Pdf\LinLibertine_RZ.ttf" />
<None Remove="Pdf\LinLibertine_RZI.ttf" />
<None Remove="Pdf\MinionPro_It.ttf" />
<None Remove="test.svg" /> <None Remove="test.svg" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="OGL.txt" /> <EmbeddedResource Include="OGL.txt" />
<EmbeddedResource Include="Pdf\178_hd_01_feuille_de_perso_v1.pdf" /> <EmbeddedResource Include="Pdf\178_hd_01_feuille_de_perso_v1.pdf" />
<EmbeddedResource Include="Pdf\AlverataIrregularPEMedium.ttf" />
<EmbeddedResource Include="Pdf\LinLibertine_aBL.ttf" />
<EmbeddedResource Include="Pdf\LinLibertine_aBS.ttf" />
<EmbeddedResource Include="Pdf\LinLibertine_aDRS.ttf" />
<EmbeddedResource Include="Pdf\LinLibertine_aRL.ttf" />
<EmbeddedResource Include="Pdf\LinLibertine_aS.ttf" />
<EmbeddedResource Include="Pdf\LinLibertine_aSI.ttf" />
<EmbeddedResource Include="Pdf\LinLibertine_aSZI.ttf" />
<EmbeddedResource Include="Pdf\LinLibertine_aZL.ttf" />
<EmbeddedResource Include="Pdf\LinLibertine_DR.ttf" />
<EmbeddedResource Include="Pdf\LinLibertine_I.ttf" />
<EmbeddedResource Include="Pdf\LinLibertine_R.ttf" />
<EmbeddedResource Include="Pdf\LinLibertine_RB.ttf" />
<EmbeddedResource Include="Pdf\LinLibertine_RBI.ttf" />
<EmbeddedResource Include="Pdf\LinLibertine_RI.ttf" />
<EmbeddedResource Include="Pdf\LinLibertine_RZ.ttf" />
<EmbeddedResource Include="Pdf\LinLibertine_RZI.ttf" />
<EmbeddedResource Include="Pdf\MinionPro_It.ttf" />
<EmbeddedResource Include="test.svg" /> <EmbeddedResource Include="test.svg" />
</ItemGroup> </ItemGroup>
@ -38,6 +74,7 @@
<PackageReference Include="SkiaSharp.Svg" Version="1.60.0" /> <PackageReference Include="SkiaSharp.Svg" Version="1.60.0" />
<PackageReference Include="SkiaSharp.Views.Forms" Version="1.68.0" /> <PackageReference Include="SkiaSharp.Views.Forms" Version="1.68.0" />
<PackageReference Include="sqlite-net-pcl" Version="1.6.258-beta" /> <PackageReference Include="sqlite-net-pcl" Version="1.6.258-beta" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.5.1" />
<PackageReference Include="Xamarin.Essentials" Version="1.1.0" /> <PackageReference Include="Xamarin.Essentials" Version="1.1.0" />
<PackageReference Include="Xamarin.Forms" Version="4.0.0.346134-pre9" /> <PackageReference Include="Xamarin.Forms" Version="4.0.0.346134-pre9" />
<PackageReference Include="Xamarin.Forms.Visual.Material" Version="4.0.0.346134-pre9" /> <PackageReference Include="Xamarin.Forms.Visual.Material" Version="4.0.0.346134-pre9" />

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1034,9 +1034,9 @@ namespace AideDeJeu.ViewModels.PlayerCharacter
return null; return null;
} }
public static HashSet<String> listFonts(PdfReader reader) public static Dictionary<String, PRIndirectReference> listFonts(PdfReader reader)
{ {
HashSet<String> set = new HashSet<String>(); Dictionary<String, PRIndirectReference> set = new Dictionary<String, PRIndirectReference>();
//PdfReader reader = new PdfReader(src); //PdfReader reader = new PdfReader(src);
PdfDictionary resources; PdfDictionary resources;
for (int k = 1; k <= reader.NumberOfPages; ++k) for (int k = 1; k <= reader.NumberOfPages; ++k)
@ -1047,7 +1047,7 @@ namespace AideDeJeu.ViewModels.PlayerCharacter
return set; return set;
} }
public static void processResource(HashSet<String> set, PdfDictionary resource) public static void processResource(Dictionary<String, PRIndirectReference> set, PdfDictionary resource)
{ {
if (resource == null) if (resource == null)
return; return;
@ -1067,6 +1067,8 @@ namespace AideDeJeu.ViewModels.PlayerCharacter
{ {
font = fonts.GetAsDict(key); font = fonts.GetAsDict(key);
String name = font.GetAsName(PdfName.BASEFONT).ToString(); String name = font.GetAsName(PdfName.BASEFONT).ToString();
var flat = resource.Keys; //.GetAsDict(PdfName.FILTER);
var dic = font.GetAsStream(PdfName.BASEFONT);
if (name.Length > 8 && name[7] == '+') if (name.Length > 8 && name[7] == '+')
{ {
name = String.Format("{0} subset ({1})", name.Substring(8), name.Substring(1, 7)); name = String.Format("{0} subset ({1})", name.Substring(8), name.Substring(1, 7));
@ -1084,7 +1086,7 @@ namespace AideDeJeu.ViewModels.PlayerCharacter
else if (desc.Get(PdfName.FONTFILE3) != null) else if (desc.Get(PdfName.FONTFILE3) != null)
name += " (" + font.GetAsName(PdfName.SUBTYPE).ToString().Substring(1) + ") embedded"; name += " (" + font.GetAsName(PdfName.SUBTYPE).ToString().Substring(1) + ") embedded";
} }
set.Add(name); set[name] = font.IndRef;
} }
} }
@ -1105,19 +1107,31 @@ namespace AideDeJeu.ViewModels.PlayerCharacter
//} //}
//pdfDoc.close(); //pdfDoc.close();
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
//PdfDocument pdfDoc = new PdfDocument(new PdfWriter()); //PdfDocument pdfDoc = new PdfDocument(new PdfWriter());
//var stream = DependencyService.Get<INativeAPI>().CreateStream("test.pdf"); //var stream = DependencyService.Get<INativeAPI>().CreateStream("test.pdf");
var stream = new FileStream(Path.Combine(Xamarin.Essentials.FileSystem.CacheDirectory, "test.pdf"), FileMode.Create, FileAccess.ReadWrite); var stream = new FileStream(Path.Combine(Xamarin.Essentials.FileSystem.CacheDirectory, "test.pdf"), FileMode.Create, FileAccess.ReadWrite);
PdfReader reader = new PdfReader(AideDeJeu.Tools.Helpers.GetResourceStream("AideDeJeu.Pdf.178_hd_01_feuille_de_perso_v1.pdf")); PdfReader reader = new PdfReader(AideDeJeu.Tools.Helpers.GetResourceStream("AideDeJeu.Pdf.178_hd_01_feuille_de_perso_v1.pdf"));
var set = listFonts(reader); var fontPath = Path.Combine(Xamarin.Essentials.FileSystem.CacheDirectory, "LinLibertine_aS.ttf");
using (var inFont = AideDeJeu.Tools.Helpers.GetResourceStream("AideDeJeu.Pdf.LinLibertine_aS.ttf"))
{
using (var outFont = new FileStream(fontPath, FileMode.Create, FileAccess.ReadWrite))
{
await inFont.CopyToAsync(outFont);
}
}
//var set = listFonts(reader);
//var truc = findFontInPage(reader, "MinionPro-It", 1); //var truc = findFontInPage(reader, "MinionPro-It", 1);
//var fonts = BaseFont.GetDocumentFonts(reader); //var fonts = BaseFont.GetDocumentFonts(reader);
//var font = BaseFont.CreateFont("TMULFZ+MinionPro-It", BaseFont.WINANSI, BaseFont.EMBEDDED); //var font = BaseFont.CreateFont("TMULFZ+MinionPro-It", BaseFont.WINANSI, BaseFont.EMBEDDED);
//var font = findFontInForm(reader, new PdfName("MinionPro-It")); //var font = findFontInForm(reader, new PdfName("MinionPro-It"));
var font = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.WINANSI, BaseFont.EMBEDDED); FontFactory.Register(fontPath, "mafont");
var mafont = FontFactory.GetFont("mafont", 20, iTextSharp.text.Font.BOLD);
//System.Text.Encoding.RegisterProvider(new System.Text.EncodingProvider());
//var font = BaseFont.CreateFont("mafont", BaseFont.WINANSI, BaseFont.EMBEDDED);
var font = mafont.BaseFont;
//var font = BaseFont.CreateFont(PRIndirectReference.()); //var font = BaseFont.CreateFont(PRIndirectReference.());
//var font = findNamedFont(reader, ""); //var font = findNamedFont(reader, "");

View file

@ -14,6 +14,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="3.0.0-preview3.19153.1" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="3.0.0-preview3.19153.1" />
<PackageReference Include="sqlite-net-pcl" Version="1.6.258-beta" /> <PackageReference Include="sqlite-net-pcl" Version="1.6.258-beta" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.5.1" />
<PackageReference Include="Xamarin.Essentials" Version="1.1.0" /> <PackageReference Include="Xamarin.Essentials" Version="1.1.0" />
<PackageReference Include="Xamarin.Forms" Version="4.0.0.346134-pre9" /> <PackageReference Include="Xamarin.Forms" Version="4.0.0.346134-pre9" />
<PackageReference Include="XamiTextSharpLGPLv2" Version="1.0.0" /> <PackageReference Include="XamiTextSharpLGPLv2" Version="1.0.0" />

View file

@ -13,6 +13,7 @@
<PackageReference Include="MSTest.TestAdapter" Version="2.0.0-beta2" /> <PackageReference Include="MSTest.TestAdapter" Version="2.0.0-beta2" />
<PackageReference Include="MSTest.TestFramework" Version="2.0.0-beta2" /> <PackageReference Include="MSTest.TestFramework" Version="2.0.0-beta2" />
<PackageReference Include="sqlite-net-pcl" Version="1.6.258-beta" /> <PackageReference Include="sqlite-net-pcl" Version="1.6.258-beta" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.5.1" />
<PackageReference Include="Xamarin.Essentials" Version="1.1.0" /> <PackageReference Include="Xamarin.Essentials" Version="1.1.0" />
<PackageReference Include="Xamarin.Forms" Version="4.0.0.346134-pre9" /> <PackageReference Include="Xamarin.Forms" Version="4.0.0.346134-pre9" />
<PackageReference Include="XamiTextSharpLGPLv2" Version="1.0.0" /> <PackageReference Include="XamiTextSharpLGPLv2" Version="1.0.0" />

View file

@ -13,6 +13,7 @@
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.1.6" /> <PackageReference Include="Microsoft.AspNetCore.All" Version="2.1.6" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="3.0.0-preview3.19153.1" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="3.0.0-preview3.19153.1" />
<PackageReference Include="sqlite-net-pcl" Version="1.6.258-beta" /> <PackageReference Include="sqlite-net-pcl" Version="1.6.258-beta" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.5.1" />
<PackageReference Include="Xamarin.Essentials" Version="1.1.0" /> <PackageReference Include="Xamarin.Essentials" Version="1.1.0" />
<PackageReference Include="Xamarin.Forms" Version="4.0.0.346134-pre9" /> <PackageReference Include="Xamarin.Forms" Version="4.0.0.346134-pre9" />
<PackageReference Include="XamiTextSharpLGPLv2" Version="1.0.0" /> <PackageReference Include="XamiTextSharpLGPLv2" Version="1.0.0" />