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));
            }
Esempio n. 3
0
            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));
            }
Esempio n. 4
0
            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));
            }