How do you integrate custom fonts in an app?

北城余情 提交于 2019-11-27 07:08:37

问题


I am trying to integrate custom fonts (Imperator.ttf and goodfish.ttf) from the following website into my corona app:
http://www.1001freefonts.com/top-fonts.php

I am following carefully the tutorial found here on Corona's official website:
http://www.coronalabs.com/blog/2013/01/16/faq-wednesday-custom-fonts/

I follow the whole procedure for macosx integration (installing the font by double clicking etc) and do not get any error. I also added the font file name to my build.settings file:

 UIAppFonts =
 {
       "Imperator.ttf"
 },

Whenever i launch the simulator and debug the currently loaded fonts, the new one doesn't appear.

Is there an easy way to debug the issue on corona simulator, on osx, to troubleshoot why the font doesn't load ?

Thanks


回答1:


While installing custom fonts to your corona application, you have to follow the following steps:

  • Install the font in your system.
  • Copy and paste the font file(such as: Imperator.ttf) to the application folder where your main.lua exists.
  • Then for iPhone(only for iPhone, Android doesn't need this), add the following lines to your build.settings:

iphone =
    {
        plist =
        {
            UIAppFonts =
            {
                "Imperator.ttf"  -- Font file name
            },
            UIApplicationExitsOnSuspend = true
        },
    }

  • Debug and get the supported Font Names by the system using the following:

local fonts = native.getFontNames()
for i,fontname in ipairs(fonts) do
    print(fonts[i])
end

From the above debugging, you can get the exact Font Name (here: Imperator) that you have to use while creating the text/label. Sometimes this may differ from the name of the font file. You can also get it from applications like photoshop(it's text tool font name), etc.

local myText = display.newText("Label with custom font",150,100,"Imperator",20)

Then finally, you will get the output as:

Keep coding................ 😃




回答2:


Put Imperator.ttf font file in Assets folder

In class use following code:

Typeface imperator_typeface =Typeface.createFromAsset(getContext().getAssets(),"Imperator.ttf");

your_textview.setTypeface(imperator_typeface);



来源:https://stackoverflow.com/questions/19681054/how-do-you-integrate-custom-fonts-in-an-app

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!