protected override Task <ResultStatus> DoCommandOverride(ICommandContext commandContext) { using (var imageStream = File.OpenRead(AssetParameters.FontDataFile)) { Image image; try { image = Image.Load(imageStream); } catch (FontNotFoundException ex) { commandContext.Logger.Error("The file [{0}] is not a proper image file.", ex.FontName); return(Task.FromResult(ResultStatus.Failed)); } Graphics.SpriteFont staticFont = FontDataFactory.NewStatic( FontHelper.PointsToPixels(AssetParameters.Size), AssetParameters.Glyphs, new[] { image }, AssetParameters.BaseOffset, AssetParameters.DefaultLineSpacing, AssetParameters.Kernings, AssetParameters.ExtraSpacing, AssetParameters.ExtraLineSpacing, AssetParameters.DefaultCharacter); // save the data into the database var assetManager = new AssetManager(); assetManager.Save(Url, staticFont); image.Dispose(); } return(Task.FromResult(ResultStatus.Successful)); }
protected override Task <ResultStatus> DoCommandOverride(ICommandContext commandContext) { using (var texTool = new TextureTool()) using (var texImage = texTool.Load(Parameters.FontDataFile, Parameters.IsSrgb)) { //make sure we are RGBA and not BGRA texTool.Convert(texImage, Parameters.IsSrgb ? PixelFormat.R8G8B8A8_UNorm_SRgb : PixelFormat.R8G8B8A8_UNorm); var image = texTool.ConvertToStrideImage(texImage); Graphics.SpriteFont staticFont = FontDataFactory.NewStatic( Parameters.Size, Parameters.Glyphs, new[] { image }, Parameters.BaseOffset, Parameters.DefaultLineSpacing, Parameters.Kernings, Parameters.ExtraSpacing, Parameters.ExtraLineSpacing, Parameters.DefaultCharacter); // save the data into the database var assetManager = new ContentManager(MicrothreadLocalDatabases.ProviderService); assetManager.Save(Url, staticFont); image.Dispose(); } return(Task.FromResult(ResultStatus.Successful)); }
protected override Task <ResultStatus> DoCommandOverride(ICommandContext commandContext) { var dynamicFont = FontDataFactory.NewDynamic( FontHelper.PointsToPixels(AssetParameters.Size), AssetParameters.FontName, AssetParameters.Style, AssetParameters.AntiAlias, AssetParameters.UseKerning, AssetParameters.Spacing, AssetParameters.LineSpacing, AssetParameters.DefaultCharacter); var assetManager = new ContentManager(); assetManager.Save(Url, dynamicFont); return(Task.FromResult(ResultStatus.Successful)); }
protected override Task <ResultStatus> DoCommandOverride(ICommandContext commandContext) { var dynamicFont = FontDataFactory.NewDynamic( Parameters.FontType.Size, Parameters.FontSource.GetFontName(), Parameters.FontSource.Style, Parameters.FontType.AntiAlias, useKerning: false, extraSpacing: Parameters.Spacing, extraLineSpacing: Parameters.LineSpacing, defaultCharacter: Parameters.DefaultCharacter); var assetManager = new ContentManager(MicrothreadLocalDatabases.ProviderService); assetManager.Save(Url, dynamicFont); return(Task.FromResult(ResultStatus.Successful)); }