I don't believe it is possible to add a custom font to core app inventor. App Inventor seems to use the TextViewUtil class to set the font, which relies on the TypeFace class provided by core Android Since it relies on an outside class to handle the .ttf files, it doesn't seem to be modifyable.
But I'm not very familiar with this area of App Inventor, so I could be wrong!
I'm not exactly sure; I don't have experience doing that The extension links that people posted above may be helpful =)
If you still need more help I recommend creating a new issue in the MIT App Inventor help category. It will be best if you describe exactly what you want to do, ie add fontawesome and material icons to your app =)
Add font name in YoungAndroidFontTypefaceChoicePropertyEditor.java file.
Add font name in OdeMessages.java and Component.java files.
(I assume you know how to add values there )
Now you will have to do some modifications in TextViewUtil.java.
Add this:
case Component.YOUR_FONT :
tf = Typeface.createFromAsset(form.getAssets(),"your_font.ttf");
break;
which folder is the assets folder. If you are talking about apps asset folder then please I don't want to upload everytime please give me another way or if not then which?
[javac] C:\Users\Administrator\appinventor-sources\appinventor\components\src\com\google\appinventor\components\runtime\util\TextViewUtil.java:149: error: non-static method getAssets() cannot be referenced from a static context
BUILD FAILED
C:\Users\Administrator\appinventor-sources\appinventor\build.xml:16: The following error occurred while executing this line:
C:\Users\Administrator\appinventor-sources\appinventor\build-common.xml:341: The following error occurred while executing this line:
C:\Users\Administrator\appinventor-sources\appinventor\components\build.xml:215: The following error occurred while executing this line:
C:\Users\Administrator\appinventor-sources\appinventor\build-common.xml:125: Compile failed; see the compiler error output for details.
Since we can't see your code, the most likely thing I can think of is that you're doing something like Context.getAssets(), which is wrong because getAssets() is an instance method but Context is a class. You need to call it on an instance of Context instead, typically by calling getContext() on some other Android object. If you've got an instance of Form lying around, it is a Context so you could also use that.