帮助大家, 我正在开发一个Android应用程序,只需要使用1个奇怪的unicode字符:
\u0180 - ƀ
我的问题是:
是否可以简单地将此char插入现有字体或以其他任何方式插入支持此unicode char的应用程序中的巨大5-10 MB字体? 请任何想法,任何链接,一些方向。 谢谢大家。
答案 0 :(得分:2)
Google周围的关键字:Typeface,MetricAffectingSpan,SpannableString。
您不必包含您不需要的整个字符集。您可以创建自己的字体,其中包含唯一具有您选择的代码的字符。然后,您可以使用此字体来跨越包含该字符的字符串。
假设您有一个名为* {
max-width: 100%;
color: white;
margin: auto;
}
html,
body {
width: 100%;
margin: 0 auto;
height: 100%;
}
/* MAIN STYLE FOR EACH CONTAINER */
#maincontainer {
width: 100%;
height: 100%;
background-image: url(images/main.jpg);
background-repeat: no-repeat;
background-position: top;
}
#menu {
width: 19.8%;
height: 100%;
background-image: url(images/bd.png);
float: left;
opacity: 0.9;
}
#wrapper {
width: 80%;
height: 90%;
background-image: url(images/bd.png);
opacity: 0.9;
float: left;
border-left: white solid 1px;
}
#copyright {
width: 80.2%;
height: 10%;
background-image: url(images/gray.png);
float: left;
opacity: 0.7;
text-align: center;
}
#copyright p {
color: black;
margin-top: 50%
}
/* NAVBAR LEFT SIDE STYLE */
.navbar {
margin: 50% auto;
width: 50%;
height: 50%;
}
.navbar ul {
width: 50%;
height: 50%;
margin: 50% auto;
}
.navbar ul li {
width: 50%;
list-style-type: none;
color: white;
display: inline-block;
margin-top: 15px;
}
/* WRAPPER's LEFT SIDE STYLE */
/* THE REVIEWS SHIT */
#wrapperleftmenu {
float: left;
width: 60%;
height: 100%;
margin: 2% auto;
border-right: white solid 1px;
}
/* REVIEW STYLE */
/* THE REVIEWS SHIT */
#reviewpreview {
width: 60%;
height: 33%;
margin: 2% auto;
border: white solid 1px;
}
/* REVIEW STYLE */
/* THE REVIEWS PICTURE */
#rpcontainer {
width: 95%;
height: 90%;
margin: 2% auto;
border: white solid 1px;
}
/* REVIEW STYLE */
/* WRAPPER LEFT MENU TEXT - TEXT FOR REVIEW */
#wlmtext {
width: 23%;
height: 60%;
margin: 10% 3%;
border: white solid 1px;
float: left;
display: inherit;
}
#wlmimage {
width: 65%;
height: 60%;
margin: 10% auto;
border: white solid 1px;
float: left;
background-image: url(http://cdn.akamai.steamstatic.com/steam/apps/252490/header.jpg?t=1437745418);
background-size: cover;
}
#news {
width: 60%;
height: 15%;
margin: 2% auto;
border: white solid 1px;
}
#screenshot {
width: 60%;
height: 39%;
margin: 2% auto;
border: white solid 1px;
}
/* WRAPPER's RIGHT SIDE STYLE */
/* THE SOCIAL MEDIA STUFF */
#wrapperrightmenu {
width: 60%;
height: 100%;
margin: 2% auto;
}
的TTF字体文件,您可以将其放在custom_font
文件夹中并创建一个字体对象:
assets/fonts
然后你可以跨越字符串跨越你的特殊字符(假设你事先不知道它的确切位置):
Typeface customTypeface = Typeface.createFromAsset(context.getAssets(), "fonts/custom_font.ttf");
SpannableStringBuilder resultSpan = new SpannableStringBuilder(yourString);
for (int i = 0; i < resultSpan.length(); i++) {
if (resultSpan.charAt(i) == '\u0180') {
CustomTypefaceSpan typefaceSpan = new CustomTypefaceSpan(customTypeface);
resultSpan.setSpan(typefaceSpan, i, i + 1, 0);
}
}
实施SpannableStringBuilder
,因此您的CharSequence
和TextView
会很乐意接受它。
您可以从this answer开始实施EditText
。