Load Embedded Font : Assembly « Reflection « C# / C Sharp

Home
C# / C Sharp
1.2D Graphics
2.Class Interface
3.Collections Data Structure
4.Components
5.Data Types
6.Database ADO.net
7.Design Patterns
8.Development Class
9.Event
10.File Stream
11.Generics
12.GUI Windows Form
13.Language Basics
14.LINQ
15.Network
16.Office
17.Reflection
18.Regular Expressions
19.Security
20.Services Event
21.Thread
22.Web Services
23.Windows
24.Windows Presentation Foundation
25.XML
26.XML LINQ
C# / C Sharp by API
C# / CSharp Tutorial
C# / CSharp Open Source
C# / C Sharp » Reflection » AssemblyScreenshots 
Load Embedded Font
 
///////////////////////////////////////////////////////////////////////////////////////////////
//
//    This File is Part of the CallButler Open Source PBX (http://www.codeplex.com/callbutler
//
//    Copyright (c) 2005-2008, Jim Heising
//    All rights reserved.
//
//    Redistribution and use in source and binary forms, with or without modification,
//    are permitted provided that the following conditions are met:
//
//    * Redistributions of source code must retain the above copyright notice,
//      this list of conditions and the following disclaimer.
//
//    * Redistributions in binary form must reproduce the above copyright notice,
//      this list of conditions and the following disclaimer in the documentation and/or
//      other materials provided with the distribution.
//
//    * Neither the name of Jim Heising nor the names of its contributors may be
//      used to endorse or promote products derived from this software without specific prior
//      written permission.
//
//    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
//    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
//    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
//    IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
//    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
//    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
//    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
//    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
//    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
//    POSSIBILITY OF SUCH DAMAGE.
//
///////////////////////////////////////////////////////////////////////////////////////////////

using System;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Text;
using System.Runtime.InteropServices;
using System.Reflection;
using System.IO;

namespace WOSI.Utilities
{
  /// <summary>
  /// Summary description for ResourceUtils.
  /// </summary>
  public class FontUtils
  {
    private PrivateFontCollection pfc = new PrivateFontCollection();

    public FontUtils()
    {
    }

    public Font GetDefaultFontFamily(float fontSize)
    {
      return new Font(pfc.Families[0], fontSize);
    }

    public void LoadEmbeddedFont(Assembly assembly, string resourcePath)
    {
      Stream fontStream = assembly.GetManifestResourceStream(resourcePath);

      if(fontStream != null)
      {
        byte[] fontdata = new byte[fontStream.Length];

        fontStream.Read(fontdata, 0(int)fontStream.Length);
        fontStream.Close();

        unsafe
        {
          fixed(byte* pFontData = fontdata)
          {
            pfc.AddMemoryFont((IntPtr)pFontData, fontdata.Length);
          }
        }
      }
    }
  }
}

   
  
Related examples in the same category
1.CurrentDomain, GetAssemblies
2.Dynamically invoking methods from classes in an assembly.
3.Set AssemblyTitle, AssemblyDescription, AssemblyConfiguration, AssemblyCompany, AssemblyProduct
4.AssemblyCulture AssemblyVersion
5.Location of Assembly
6.GetReferencedAssemblies
7.Load assembly from namespace System.Xml
8.Create assemblyCreate assembly
9.Examining Location InformationExamining Location Information
10.Working with an Assembly Entry PointWorking with an Assembly Entry Point
11.Loading Assemblies Dynamically with Load() and LoadWithPartialName()Loading Assemblies Dynamically with Load() and LoadWithPartialName()
12.Finding and Creating Assembly Types
13.Retrieving a List of Referenced Assemblies
14.Simple Windows Form Application with Version InformationSimple Windows Form Application with Version Information
15.Find Attribytes from assembly nameFind Attribytes from assembly name
16.Get current application domainGet current application domain
17.List All Types from an AssemblyList All Types from an Assembly
18.List All Members from an AssemblyList All Members from an Assembly
19.Use Assembly to indicate the version and cultureUse Assembly to indicate the version and culture
20.new AssemblyName()
21.AssemblyName: Name, Version, CultureInfo, SetPublicKeyToken
22.Gets an assembly by its name if it is currently loaded
23.Get all modules from Assembly
24.Load and execute an assembly and Unload the application domain
25.GetNamespaces from Assembly
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.