Cannot load spriteFont in XNA4

Im goofing around with XNA and I came to the part where I need to download the font. Easy enough?

Font1 = Content.Load<SpriteFont>("Arial"); 

I use the code to download the font.

 <?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>Arial</FontName> <!-- Size is a float value, measured in points. Modify this value to change the size of the font. --> <Size>14</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> 

is a spritefont im file using. its located in Content / Arial.spritefont.

No matter which font I choose, it cannot load this font.

 Error loading "Arial". File not found. 
+6
c # xna
source share
3 answers

The code you posted looks accurate if you set the root directory of the content (this line is part of the default template):

 Content.RootDirectory = "Content"; 

And provided that you correctly added the .spritefont file to your content project, and it builds correctly. Make sure that the Arial.xnb file is created in the Content directory next to your executable file (in bin/Debug or bin/Release , depending on the purpose of the build).

If you still have problems, try creating a new XNA project and see if you can use a font for this.

+6
source share

why not use SpriteFont Texture, where you have all the letters in one image. thereby you can display a font that is not on other computers. Remember to change the ContentProcessor to Font Txture after adding the texture to the project.

SpriteFont Editor

Some tutorial

+3
source share

Make sure your content project is added as a link to the main project. Right-click on your project and select "Add Content Link". Then simply select the listed content projects. This ensures that your content is truly copied.

+2
source share

All Articles