Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge pull request #1606 from kevingadd/spritefont_left_overhang

Implement left-side overhang compensation for SpriteFont (#1355)
  • Loading branch information...
commit 04864203f130dabf0cdbdd0b1cfbb1526af80258 2 parents e5f55d6 + e6a2863
@KonajuGames KonajuGames authored
View
38 MonoGame.Framework/Graphics/SpriteFont.cs
@@ -190,6 +190,7 @@ private void MeasureString(ref CharacterSource text, out Vector2 size)
var currentGlyph = Glyph.Empty;
var offset = Vector2.Zero;
var hasCurrentGlyph = false;
+ var firstGlyphOfLine = true;
for (var i = 0; i < text.Length; ++i)
{
@@ -208,11 +209,25 @@ private void MeasureString(ref CharacterSource text, out Vector2 size)
offset.X = 0;
offset.Y = LineSpacing * fullLineCount;
hasCurrentGlyph = false;
+ firstGlyphOfLine = true;
continue;
}
- if (hasCurrentGlyph)
- offset.X += Spacing + currentGlyph.WidthIncludingBearings;
+ if (hasCurrentGlyph) {
+ offset.X += Spacing;
+
+ // The first character on a line might have a negative left side bearing.
+ // In this scenario, SpriteBatch/SpriteFont normally offset the text to the right,
+ // so that text does not hang off the left side of its rectangle.
+ if (firstGlyphOfLine) {
+ offset.X = Math.Max(offset.X + Math.Abs(currentGlyph.LeftSideBearing), 0);
+ firstGlyphOfLine = false;
+ } else {
+ offset.X += currentGlyph.LeftSideBearing;
+ }
+
+ offset.X += currentGlyph.Width + currentGlyph.RightSideBearing;
+ }
hasCurrentGlyph = _glyphs.TryGetValue(c, out currentGlyph);
if (!hasCurrentGlyph)
@@ -286,6 +301,7 @@ private void MeasureString(ref CharacterSource text, out Vector2 size)
var currentGlyph = Glyph.Empty;
var offset = Vector2.Zero;
var hasCurrentGlyph = false;
+ var firstGlyphOfLine = true;
for (var i = 0; i < text.Length; ++i)
{
@@ -301,11 +317,13 @@ private void MeasureString(ref CharacterSource text, out Vector2 size)
offset.X = 0;
offset.Y += LineSpacing;
hasCurrentGlyph = false;
+ firstGlyphOfLine = true;
continue;
}
- if (hasCurrentGlyph)
+ if (hasCurrentGlyph) {
offset.X += Spacing + currentGlyph.Width + currentGlyph.RightSideBearing;
+ }
hasCurrentGlyph = _glyphs.TryGetValue(c, out currentGlyph);
if (!hasCurrentGlyph)
@@ -316,7 +334,19 @@ private void MeasureString(ref CharacterSource text, out Vector2 size)
currentGlyph = defaultGlyph.Value;
hasCurrentGlyph = true;
}
- offset.X += currentGlyph.LeftSideBearing;
+
+ if (hasCurrentGlyph) {
+ // The first character on a line might have a negative left side bearing.
+ // In this scenario, SpriteBatch/SpriteFont normally offset the text to the right,
+ // so that text does not hang off the left side of its rectangle.
+ if (firstGlyphOfLine) {
+ offset.X = Math.Max(offset.X, 0);
+ firstGlyphOfLine = false;
+ } else {
+ offset.X += currentGlyph.LeftSideBearing;
+ }
+ }
+
var p = offset;
if (flippedHorz)
View
35 Test/Interactive/Windows/Issue1355/Issue1355.sln
@@ -0,0 +1,35 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Issue1355", "Issue1355\Issue1355.csproj", "{0650BBB1-A078-4536-850B-182BC3A78B81}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Issue1355Content", "Issue1355Content\Issue1355Content.contentproj", "{2C0E7626-F641-4C10-9682-28CDC9F6EA70}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Issue1355_MonoGame", "Issue1355\Issue1355_MonoGame.csproj", "{0650BBB1-A078-4536-850B-182BC3A78B82}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGame.Framework.Windows", "..\..\..\..\MonoGame.Framework\MonoGame.Framework.Windows.csproj", "{7DE47032-A904-4C29-BD22-2D235E8D91BA}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0650BBB1-A078-4536-850B-182BC3A78B81}.Debug|x86.ActiveCfg = Debug|x86
+ {0650BBB1-A078-4536-850B-182BC3A78B81}.Debug|x86.Build.0 = Debug|x86
+ {0650BBB1-A078-4536-850B-182BC3A78B81}.Release|x86.ActiveCfg = Release|x86
+ {0650BBB1-A078-4536-850B-182BC3A78B81}.Release|x86.Build.0 = Release|x86
+ {2C0E7626-F641-4C10-9682-28CDC9F6EA70}.Debug|x86.ActiveCfg = Debug|x86
+ {2C0E7626-F641-4C10-9682-28CDC9F6EA70}.Release|x86.ActiveCfg = Release|x86
+ {0650BBB1-A078-4536-850B-182BC3A78B82}.Debug|x86.ActiveCfg = Debug|x86
+ {0650BBB1-A078-4536-850B-182BC3A78B82}.Debug|x86.Build.0 = Debug|x86
+ {0650BBB1-A078-4536-850B-182BC3A78B82}.Release|x86.ActiveCfg = Release|x86
+ {0650BBB1-A078-4536-850B-182BC3A78B82}.Release|x86.Build.0 = Release|x86
+ {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Debug|x86.Build.0 = Debug|Any CPU
+ {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Release|x86.ActiveCfg = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
View
68 Test/Interactive/Windows/Issue1355/Issue1355/Game.cs
@@ -0,0 +1,68 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Audio;
+using Microsoft.Xna.Framework.Content;
+using Microsoft.Xna.Framework.GamerServices;
+using Microsoft.Xna.Framework.Graphics;
+using Microsoft.Xna.Framework.Input;
+using Microsoft.Xna.Framework.Media;
+
+namespace Issue1355 {
+ /// <summary>
+ /// This is the main type for your game
+ /// </summary>
+ public class Game : Microsoft.Xna.Framework.Game {
+ GraphicsDeviceManager Graphics;
+ SpriteBatch SpriteBatch;
+ Texture2D White;
+ SpriteFont Font;
+
+ public Game () {
+ Graphics = new GraphicsDeviceManager(this);
+ Graphics.PreferredBackBufferWidth = 700;
+ Graphics.PreferredBackBufferHeight = 200;
+
+ Content.RootDirectory = "Content";
+
+#if MONOGAME
+ Window.Title = "Issue1355 (MonoGame)";
+#else
+ Window.Title = "Issue1355 (XNA)";
+#endif
+ }
+
+ protected override void LoadContent () {
+ SpriteBatch = new SpriteBatch(GraphicsDevice);
+
+ White = new Texture2D(GraphicsDevice, 1, 1);
+ White.SetData(new[] { Color.White });
+
+ Font = Content.Load<SpriteFont>("DutchAndHarley");
+ }
+
+ protected override void Draw (GameTime gameTime) {
+ GraphicsDevice.Clear(Color.Black);
+
+ const string testText = "{Dutch & Harley}";
+
+ SpriteBatch.Begin();
+
+ var textSize = Font.MeasureString(testText);
+ var textPosition = new Vector2(32, 32);
+
+ SpriteBatch.Draw(White, textPosition, null, Color.Red * 0.25f, 0, Vector2.Zero, textSize, SpriteEffects.None, 0);
+
+ SpriteBatch.DrawString(Font, testText, textPosition, Color.White);
+
+ SpriteBatch.End();
+
+ base.Draw(gameTime);
+ }
+
+ public static void Main () {
+ new Game().Run();
+ }
+ }
+}
View
160 Test/Interactive/Windows/Issue1355/Issue1355/Issue1355.csproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{0650BBB1-A078-4536-850B-182BC3A78B81}</ProjectGuid>
+ <ProjectTypeGuids>{6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
+ <OutputType>WinExe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Issue1355</RootNamespace>
+ <AssemblyName>Issue1355</AssemblyName>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <TargetFrameworkProfile>Client</TargetFrameworkProfile>
+ <XnaFrameworkVersion>v4.0</XnaFrameworkVersion>
+ <XnaPlatform>Windows</XnaPlatform>
+ <XnaProfile>HiDef</XnaProfile>
+ <XnaCrossPlatformGroupID>5ddec1ed-3b22-4d4f-afee-dc1a63970f5d</XnaCrossPlatformGroupID>
+ <XnaOutputType>Game</XnaOutputType>
+ <ApplicationIcon>
+ </ApplicationIcon>
+ <Thumbnail>
+ </Thumbnail>
+ <PublishUrl>publish\</PublishUrl>
+ <Install>true</Install>
+ <InstallFrom>Disk</InstallFrom>
+ <UpdateEnabled>false</UpdateEnabled>
+ <UpdateMode>Foreground</UpdateMode>
+ <UpdateInterval>7</UpdateInterval>
+ <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+ <UpdatePeriodically>false</UpdatePeriodically>
+ <UpdateRequired>false</UpdateRequired>
+ <MapFileExtensions>true</MapFileExtensions>
+ <ApplicationRevision>0</ApplicationRevision>
+ <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+ <IsWebBootstrapper>false</IsWebBootstrapper>
+ <UseApplicationTrust>false</UseApplicationTrust>
+ <BootstrapperEnabled>true</BootstrapperEnabled>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\x86\Debug</OutputPath>
+ <DefineConstants>DEBUG;TRACE;WINDOWS</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <NoStdLib>true</NoStdLib>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <PlatformTarget>x86</PlatformTarget>
+ <XnaCompressContent>false</XnaCompressContent>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\x86\Release</OutputPath>
+ <DefineConstants>TRACE;WINDOWS</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <NoStdLib>true</NoStdLib>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <PlatformTarget>x86</PlatformTarget>
+ <XnaCompressContent>true</XnaCompressContent>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="Microsoft.Xna.Framework.Game, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="Microsoft.Xna.Framework.Graphics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="Microsoft.Xna.Framework.GamerServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="Microsoft.Xna.Framework.Xact, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="Microsoft.Xna.Framework.Video, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="Microsoft.Xna.Framework.Avatar, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="Microsoft.Xna.Framework.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="Microsoft.Xna.Framework.Storage, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="mscorlib">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="System">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="System.Xml">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="System.Core">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="System.Xml.Linq">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="System.Net">
+ <Private>False</Private>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Game.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\Issue1355Content\Issue1355Content.contentproj">
+ <Name>Issue1355Content</Name>
+ <XnaReferenceType>Content</XnaReferenceType>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
+ <Visible>False</Visible>
+ <ProductName>Microsoft .NET Framework 4 Client Profile %28x86 and x64%29</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+ <Install>false</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1</ProductName>
+ <Install>false</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+ <Visible>False</Visible>
+ <ProductName>Windows Installer 3.1</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Xna.Framework.4.0">
+ <Visible>False</Visible>
+ <ProductName>Microsoft XNA Framework Redistributable 4.0</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ </ItemGroup>
+ <ItemGroup>
+ <Folder Include="Properties\" />
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+ <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\Microsoft.Xna.GameStudio.targets" />
+ <!--
+ To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
View
64 Test/Interactive/Windows/Issue1355/Issue1355/Issue1355_MonoGame.csproj
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{0650BBB1-A078-4536-850B-182BC3A78B82}</ProjectGuid>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
+ <OutputType>WinExe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Issue1355</RootNamespace>
+ <AssemblyName>Issue1355_MonoGame</AssemblyName>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <Thumbnail>
+ </Thumbnail>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\x86\Debug</OutputPath>
+ <DefineConstants>TRACE;DEBUG;WINDOWS;MONOGAME</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <NoStdLib>true</NoStdLib>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <PlatformTarget>x86</PlatformTarget>
+ <XnaCompressContent>false</XnaCompressContent>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\x86\Release</OutputPath>
+ <DefineConstants>TRACE;WINDOWS;MONOGAME</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <NoStdLib>true</NoStdLib>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <PlatformTarget>x86</PlatformTarget>
+ <XnaCompressContent>true</XnaCompressContent>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="mscorlib">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="System">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="System.Core">
+ <Private>False</Private>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Game.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\..\..\MonoGame.Framework\MonoGame.Framework.Windows.csproj">
+ <Project>{7DE47032-A904-4C29-BD22-2D235E8D91BA}</Project>
+ <Name>MonoGame.Framework.Windows</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <Folder Include="Properties\" />
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+</Project>
View
60 Test/Interactive/Windows/Issue1355/Issue1355Content/DutchAndHarley.spritefont
@@ -0,0 +1,60 @@
+<?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>Dutch &amp; Harley</FontName>
+
+ <!--
+ Size is a float value, measured in points. Modify this value to change
+ the size of the font.
+ -->
+ <Size>48</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>&#254;</End>
+ </CharacterRegion>
+ </CharacterRegions>
+ </Asset>
+</XnaContent>
View
59 Test/Interactive/Windows/Issue1355/Issue1355Content/Issue1355Content.contentproj
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{2C0E7626-F641-4C10-9682-28CDC9F6EA70}</ProjectGuid>
+ <ProjectTypeGuids>{96E2B04D-8817-42c6-938A-82C39BA4D311};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <XnaFrameworkVersion>v4.0</XnaFrameworkVersion>
+ <OutputPath>bin\$(Platform)\$(Configuration)</OutputPath>
+ <ContentRootDirectory>Content</ContentRootDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
+ <PlatformTarget>x86</PlatformTarget>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
+ <PlatformTarget>x86</PlatformTarget>
+ </PropertyGroup>
+ <PropertyGroup>
+ <RootNamespace>Issue1355Content</RootNamespace>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="Microsoft.Xna.Framework.Content.Pipeline.EffectImporter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="Microsoft.Xna.Framework.Content.Pipeline.FBXImporter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="Microsoft.Xna.Framework.Content.Pipeline.TextureImporter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="Microsoft.Xna.Framework.Content.Pipeline.XImporter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="Microsoft.Xna.Framework.Content.Pipeline.AudioImporters, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="Microsoft.Xna.Framework.Content.Pipeline.VideoImporters, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL">
+ <Private>False</Private>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="DutchAndHarley.spritefont">
+ <Name>DutchAndHarley</Name>
+ <Importer>FontDescriptionImporter</Importer>
+ <Processor>FontDescriptionProcessor</Processor>
+ </Compile>
+ </ItemGroup>
+ <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
Please sign in to comment.
Something went wrong with that request. Please try again.