symbian字体使用方法汇总

收藏
windcao发表与:http://blog.csdn.net/windcao/archive/2007/09/05/1773637.aspx

先看看代码,由于标签的原有有些内容有误,
 gc.DrawText(_L("SymbolFont /x671D/x5916/x5927/x8857"),TPoint(x,baseH));
被显示成了    gc.DrawText(_L("SymbolFont g1DY16Y2757"),TPoint(x,baseH));
实际上/x671D/x5916/x5927/x8857是汉字 朝外大街。

获取固定大小的字体:

void CTestView::Draw( const TRect& /**//*aRect*/ ) const
    ...{
                    // Get the standard graphics context
                    CWindowGc& gc = SystemGc();

                    // Gets the control's extent
                    TRect drawRect( Rect());

                    // Clears the screen
                     gc.Clear( drawRect );
   
                     TInt baseH=0;
    TInt incH=10;
    TInt x=0;
    const CFont* myFont=NULL;                    
//--------------------------拉丁字体
                     myFont=LatinPlain12();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
    gc.DrawText(_L("LatinPlain12 g1DY16Y2757"),TPoint(x,baseH));
    gc.DiscardFont();
   
    myFont=LatinBold12();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
    //gc.DrawText(_L("LatinBold12 g1DY16Y2757"),TPoint(x,baseH));
    gc.DrawText(_L("LatinBold12"),TPoint(x,baseH));
    gc.DiscardFont();
   
    myFont=LatinBold13();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
    //gc.DrawText(_L("LatinBold13 g1DY16Y2757"),TPoint(x,baseH));
    gc.DrawText(_L("LatinBold13"),TPoint(x,baseH));
    gc.DiscardFont();
   
    myFont=LatinBold16();   
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
    //gc.DrawText(_L("LatinBold16 g1DY16Y2757"),TPoint(x,baseH));
    gc.DrawText(_L("LatinBold16"),TPoint(x,baseH));
    gc.DiscardFont();   
   
    myFont=LatinBold17();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
    gc.DrawText(_L("LatinBold17 g1DY16Y2757"),TPoint(x,baseH));
    gc.DiscardFont();
   
    myFont=LatinBold19();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
    gc.DrawText(_L("LatinBold19 g1DY16Y2757"),TPoint(x,baseH));
    gc.DiscardFont();
   
    myFont=NumberPlain5();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
    gc.DrawText(_L("1234567890"),TPoint(x,baseH));
    gc.DiscardFont();
   
    myFont=ClockBold30();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
    gc.DrawText(_L("ClockBold30 g1DY16Y2757"),TPoint(x,baseH));
    gc.DiscardFont();
   
    myFont=LatinClock14();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
    gc.DrawText(_L("LatinClock14 g1DY16Y2757"),TPoint(x,baseH));
    gc.DiscardFont();
   
//---------------------中文字体
    myFont=ApacPlain16();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
//    gc.DrawText(_L("ApacPlain16 g1DY16Y2757"),TPoint(x,baseH));
    gc.DrawText(_L("ApacPlain16"),TPoint(x,baseH));
    gc.DiscardFont();

    myFont=ApacPlain12();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
//    gc.DrawText(_L("ApacPlain12 g1DY16Y2757"),TPoint(x,baseH));
    gc.DrawText(_L("ApacPlain12"),TPoint(x,baseH));
    gc.DiscardFont();
      }获取固定比例的字体。 void CTest2View::Draw( const TRect& /**//*aRect*/ ) const
    ...{
    // Get the standard graphics context
    CWindowGc& gc = SystemGc();

    // Gets the control's extent
    TRect drawRect( Rect());

    // Clears the screen
    gc.Clear( drawRect );
   
    TInt baseH=0;
    TInt incH=10;
    TInt x=0;
    const CFont* myFont=NULL;

    myFont=CEikonEnv::Static()->TitleFont();
    gc.UseFont( myFont );   
    baseH+=myFont->HeightInPixels() +1;
    gc.DrawText(_L("TitleFont g1DY16"),TPoint(x,baseH));
    gc.DiscardFont();


    myFont=CEikonEnv::Static()->NormalFont();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
    gc.DrawText(_L("NormalFont g1DY16Y27"),TPoint(x,baseH));
    gc.DiscardFont();

    myFont=CEikonEnv::Static()->AnnotationFont();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
    gc.DrawText(_L("AnnotationFont g1DY16Y2757"),TPoint(x,baseH));
    gc.DiscardFont();

    myFont=CEikonEnv::Static()->LegendFont();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
    gc.DrawText(_L("LegendFont g1DY16Y2757"),TPoint(x,baseH));
    gc.DiscardFont();

    myFont=CEikonEnv::Static()->SymbolFont();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
    gc.DrawText(_L("SymbolFont g1DY16Y2757"),TPoint(x,baseH));
    gc.DiscardFont();

    myFont=CEikonEnv::Static()->DenseFont();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
    gc.DrawText(_L("DenseFont g1DY16Y2757"),TPoint(x,baseH));
    gc.DiscardFont();
}
下面是各个版本的s60 平台上面模拟器的截图。

阅读更多
文章标签: symbian null 平台
个人分类: Symbian General
上一篇zz谷村新司《星》(昴)日文歌词 中文歌词及随感一则
下一篇Series60游戏设计参考
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭