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 g1DY16Y27ˆ57"),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 g1DY16Y27ˆ57"),TPoint(x,baseH));
    gc.DiscardFont();
   
    myFont=LatinBold12();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
    //gc.DrawText(_L("LatinBold12 g1DY16Y27ˆ57"),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 g1DY16Y27ˆ57"),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 g1DY16Y27ˆ57"),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 g1DY16Y27ˆ57"),TPoint(x,baseH));
    gc.DiscardFont();
   
    myFont=LatinBold19();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
    gc.DrawText(_L("LatinBold19 g1DY16Y27ˆ57"),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 g1DY16Y27ˆ57"),TPoint(x,baseH));
    gc.DiscardFont();
   
    myFont=LatinClock14();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
    gc.DrawText(_L("LatinClock14 g1DY16Y27ˆ57"),TPoint(x,baseH));
    gc.DiscardFont();
   
//---------------------中文字体
    myFont=ApacPlain16();
    gc.UseFont( myFont );
    baseH+=myFont->HeightInPixels()+1;
//    gc.DrawText(_L("ApacPlain16 g1DY16Y27ˆ57"),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 g1DY16Y27ˆ57"),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 g1DY16Y27ˆ57"),TPoint(x,baseH));
    gc.DiscardFont();

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值