Chinese font cut off in iOS app with custom font - ios

We're currently localizing our iPhone app to various languages, one of them being Chinese. Throughout the app we use Menlo as font, but now when iOS has to display Chinese characters those are cut off at the top. I guess this is because Menlo does not feature these characters and thus iOS has to fall back to the system font for Chinese which has a different line height?
What is the recommended approach here?

If you are using a custom table cell try to increase the height of the textView.
If you are using default tableview cell you can try setting the font size to 0, the text should be auto-sized as appropriate.
Hope this helps.. :)

Related

Misaligned baseline in Arabic with iOS system font

I have a UILabel with Arabic text which contains the word اسماً, last character is the letter Alef with the mark Fathah. This mark is somehow causing the word to be misaligned vertically with the rest of the text.
When removing the mark, the word is back to correct baseline
The font is iOS system font, this doesn't happen with the Ariel font.
This is an issue with the iOS system font.
I've opened a new project to test it and added only a UITextField with an Arabic string which includes the char اً as the placeholder and it had the same behaviour.
This has been fixed on iOS 11.

UITextView fix character width

My problem is that I have to two UITextView displaying different Text, but always the same number of characters. I could not find a way to set a fix character-width and space width in UITextView/NSAtrrStr/UIFont.
Is there a way to do that?
thanks
As far as I know, Courier New is the only fixed-width font shipped with iOS.
Also, you can always import custom fonts to your xcode project which you know are fixed-width. Here is how: Embed Custom Font in iOS

Changing font size of attributed text in UITextView takes a lot of time in iOS 6 using Xcode 5

I am developing an application that target iOS6+.
I have a text view with with large attributed text. Maybe 1000 lines odd lines red color and other lines green color.
I use below code for changing the font size of the textview:
self.doaTextView.editable= YES;
self.doaTextView.font = [UIFont systemFontOfSize:self.FontSilder.value];
self.doaTextView.editable= NO;
but it takes much time. It is about 2 second on iOS 7 and about 5-10 second on iOS 6!!!
(I enable and disable editable feature, becasue if I do not do this the changes not appear in iOS 6. Please see here)
What is the problem?
Edit
I found this topic related to this problem too. Really there is not any solution for this?
I finally fixed this problem by recreating my attributedtext again and setting it as a new attributedtext to my uitextview.

ios label with attributed text fonts not displaying correctly

labels in xcode aren't correctly displaying some fonts even though attributed text is selected...
In storyboards I have some labels that I changed the text from "plain" to "attributed" but the fonts I wont to use wont display correctly - instead xcode, or whatever is controlling it, displays what seems to be a fall-back font.
Any workaround?
Reasons why?
I'm trying to use schoolhouse cursive b (and yes it does show up in the list of fonts)...
The iOS Devices don't have the font schoolhouse cursive b preinstalled:
Font list iOS7
Font list iOS6
If you want to add a custom font, have a look at this answer.

iOS5 fancy icons (emoji?) for special unicode chars - not what I want

I've always thought it was great that I could use simple iconic unicode characters in a string when I needed an arrow or a bullet or whatever. The glyphs would render in the same color as the rest of the string with a nice simple and clean icons. I could preview how they'd look by using the Mac's "Special Characters" dialog on the Edit menu in XCode.
In iOS5, these glyphs render in full color and aren't simple and clean. I believe these are Emoji icons?
I'm looking for an explanation of this change, and ideally how to force iOS5 to revert to the iOS2 - iOS4 behavior.
Here's an example: #"← left arrow, right arrow → airplane ✈";
Edit:
Apparently the NSString UIKit extensions for rendering text (drawAtPoint: / drawInRect:) don't exhibit this behavior. So perhaps it is a UILabel thing? Specifically I've noticed it inside a UISegmentControl segment button, and in a UILabel.
This isn't a bug, it's down to the font used. When you use a character in a string that isn't available in the chosen font, iOS automatically substitutes a glyph from another font.
The system font (Helvetica) doesn't have those characters in it, so I'm guessing that Apple have have changed the list of fallback fonts so that Emoji ranks above whatever it was using previously for the fallback for those characters.
To fix it, find a font that a) has the version of the characters you want in it, and b) is available on iPhone, and set your label to use that instead of the default system font.
Alternatively, you could just make a UILabel subclass and override the drawRect method so it uses the drawAtPoint/drawInRect methods to draw the string.

Resources