VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 3981|回复: 2

[分享] juce中使用中文

[复制链接]
25_avatar_middle
online_moderator 发表于 2015-10-27 22:30:37 | 显示全部楼层 |阅读模式
        从官方网站下载juce后发现文本输入框等居然不支持中文,后来百度后发现网友给出了解决方案,其实就是修改juce中的默认字体名称,文件路径如下:在JuceLibraryCode\modules\juce_graphics\native\juce_win32_Fonts.cpp ,找到其中的:
  1. struct DefaultFontNames
  2. {
  3.     DefaultFontNames()
  4.     {
  5.         if (juce_isRunningInWine())
  6.         {
  7.             // If we're running in Wine, then use fonts that might be available on Linux..
  8.             defaultSans     = "Bitstream Vera Sans";
  9.             defaultSerif    = "Bitstream Vera Serif";
  10.             defaultFixed    = "Bitstream Vera Sans Mono";
  11.         }
  12.         else
  13.         {
  14.             defaultSans     = "宋体"; //"Verdana";
  15.             defaultSerif    = "宋体"; //"Times New Roman";
  16.             defaultFixed    = "宋体"; //"Lucida Console";
  17.             defaultFallback = "宋体"; //"Tahoma";  // (contains plenty of unicode characters)
  18.         }
  19.     }

  20.     String defaultSans, defaultSerif, defaultFixed, defaultFallback;
  21. };
复制代码


将默认字体改为中文字体,同时在使用中文时记得使用unicode编码
  1. //==============================================================================
  2. MainComponent::MainComponent ()
  3. {
  4.         getLookAndFeel().setDefaultSansSerifTypefaceName(L"宋体");

  5.     addAndMakeVisible (helloWorldLabel = new Label (String::empty,
  6.                                                     L"你好,这是juce中的hhelloWorld程序!"));
  7.     helloWorldLabel->setFont (Font (40.00f, Font::bold));
  8.     helloWorldLabel->setJustificationType (Justification::centred);
  9.     helloWorldLabel->setEditable (true, false, false);
  10.     helloWorldLabel->setColour (Label::textColourId, Colours::black);
  11.     helloWorldLabel->setColour (TextEditor::textColourId, Colours::black);
  12.     helloWorldLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000));

  13.     addAndMakeVisible (quitButton = new TextButton (String::empty));
  14.     quitButton->setButtonText (L"退出");
  15.     quitButton->addListener (this);

  16.     //[UserPreSize]
  17.     //[/UserPreSize]

  18.     setSize (600, 300);


  19.     //[Constructor] You can add your own custom stuff here..
  20.     //[/Constructor]
  21. }
复制代码


显示效果:(是否发现如果写一些小的而且跨平台的程序juce是不是非常方便,同时界面也很美观)
juce中使用中文




上一篇:juce介绍及官方网站
下一篇:在MFC中使用Duilib界面库
90_avatar_middle
在线会员 发表于 2016-9-5 12:23:41 | 显示全部楼层
VERY GOOD!
99_avatar_middle
在线会员 发表于 2016-11-23 14:05:58 | 显示全部楼层
good,希望使用juce的人越来越多
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-4-19 11:28

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表