monogame pipeline tool - SpriteFont doesn't build (a new one)

Hello,

I’m fairly new to monogame, and I’ve build a mini project that works. At this point I need to move to a new computer, so I send myself the entire project as zip and try to run it only to get tackled by the message: “Processor ‘FontDescriptionProcessor’ had unexpected failure!”.

So I searched the problem in the internet, and they all say that the thing that solves the problem is just going to the pipeline tool, opening it and adding a new file to link to the project, with the .spritefont ending, but that doesn’t work.

So, i checked if the problem is just spritefont. i used it for the menu and the moment i removed the menu the game worked. So I check if the problem is in the spritefont. I open a new project and try to add a spritefont, and it doens;t work. so i go to a new computer and try there and it still doesn’t work. but it worked on my old computer.

What I did is I hovered over the content, pressed open with, choose pipeline tool, and inside it I just pressed the new file button and created a spritefont (without editing it), and it still didn’t work.

would love to get ideas on how to solved it, and thanks! (in vs 2017 c#)

that spritefont is just a textfile (xml or something) - where there is (beside other things) just the name of the font. Maybe that font is not installed on your system or not found by that name? It need to be installed on the system which is actually building the content

What I normally do is, open Pipeline Tool -> Add new Item -> Font and edit that file accordingly

how do i check if a font is installed directly?
because i just used arial until now, and it worked on the old computer without needing to install anything.
Like, i can create a new project, not change anything in it, and try to create a spritefont, without even editing it and it still produces this problem

Arial should be there in any case I guess - wrong fontname was just the one thing I could think of to go wrong. I guess you use standard latin letters in the same region than your machine is configured to? Not sure if Arial will work on a chinese or whatever windows - that’s what I want to say

The main problem is not in the font just in the file. The pipeline also works for the other things and just for fonts it doesn’t build

Hi @Shem_Mishtamesh, Welcome to the Forums.

Compare your SpriteFont file to this below, see anything different? use Snip & Sketch to share a screenshot of your exact error. You can make your snip and then paste it using CTRL+V into the reply box on this thread post. You usually have a limit on images you can place in a post as a new user, so, just send the one for now.

<?xml version="1.0" encoding="utf-8"?>
<!--
This file contains an xml description of a font, and will be read by the XNA
Framework Content Pipeline. Follow the comments to customize the appearance
of the font in your game, and to change the characters which are available to draw
with.
-->
<XnaContent xmlns:Graphics="Microsoft.Xna.Framework.Content.Pipeline.Graphics">
  <Asset Type="Graphics:FontDescription">

    <!--
    Modify this string to change the font that will be imported.
    -->
    <FontName>Segoe UI</FontName>

    <!--
    Size is a float value, measured in points. Modify this value to change
    the size of the font.
    -->
    <Size>12</Size>

    <!--
    Spacing is a float value, measured in pixels. Modify this value to change
    the amount of spacing in between characters.
    -->
    <Spacing>0</Spacing>

    <!--
    UseKerning controls the layout of the font. If this value is true, kerning information
    will be used when placing characters.
    -->
    <UseKerning>true</UseKerning>

    <!--
    Style controls the style of the font. Valid entries are "Regular", "Bold", "Italic",
    and "Bold, Italic", and are case sensitive.
    -->
    <Style>Regular</Style>

    <!--
    If you uncomment this line, the default character will be substituted if you draw
    or measure text that contains characters which were not included in the font.
    -->
    <!-- <DefaultCharacter>*</DefaultCharacter> -->

    <!--
    CharacterRegions control what letters are available in the font. Every
    character from Start to End will be built and made available for drawing. The
    default range is from 32, (ASCII space), to 126, ('~'), covering the basic Latin
    character set. The characters are ordered according to the Unicode standard.
    See the documentation for more information.
    -->
    <CharacterRegions>
      <CharacterRegion>
        <Start>&#32;</Start>
        <End>&#126;</End>
      </CharacterRegion>
    </CharacterRegions>
  </Asset>
</XnaContent>

Happy Coding!

This can’t be the entire message. There has to be more following with the actual exception and error message.

1 Like

new computer maybe its this thing again.

1 Like

this is the error
and this is the files themselfs which i don’t see a difference in


and there is more lines at the top which are:

<?xml version="1.0" encoding="utf-8"?> <!-- This file contains an xml description of a font, and will be read by the XNA Framework Content Pipeline. Follow the comments to customize the appearance of the font in your game, and to change the characters which are available to draw with.

I’m not sure. The computer has c++ and its the vs 2017 edition. How do I check?

Ehhh where is your content loading from?

from this. and the normal sprites work while the spritefonts don’t

Can you follow my two guides here:

and

Focus more on the way content is added to the project, do you still have the same result?

well, i tried and it gave this error, but its more than before so that is a start

well it worked! I have no idea why downloading something for vs 2012 helped but it worked! the key is that visual studio did not show this specific error so you should check usually for the error in the pipeline tool itself, since it specifices the error more, and then searching for it specifically. thank you for the help!

1 Like

Well, it was mentioned already.

Funny thing though, I never have that issue :thinking: