-
Notifications
You must be signed in to change notification settings - Fork 654
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
iOS App: Custom Fonts in iOS 14 #472
Comments
|
Could you be more specific and describe exactly what does not work? Do you mean that the fonts bundled with Collabora Office do not show up in its font selection controls? What is a "custom" font? What version of the app are you testing with, the latest one in the App Store "4.2.11-1" or the latest one available in TestFlight "6.4.0 (7)"? (The fonts bundled with the app are: |
|
Please have a look at the link provided in the issue. We are talking
about fonts that are installed in iOS. Microsoft had the same problem
with their apps. Apple changed the font management entirely. Those
custom fonts visible in "General Settings" under "Fonts". Up to iOS 13
they were visible and selectable in Collabora.
…On Wed, 2020-11-04 at 04:18 -0800, Tor Lillqvist wrote:
As can be seen in this screenshot, the fonts bundled with the app do
show up. This is the 4.2.11-1 version from the App Store. This is on
iOS 14.1.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
|
OK, so you mean fonts installed by other apps, and available to for instance the Collabora Office app only by using new APIs, and not the traditional CoreText APIs. Fixing this will not be trivial. |
|
No, fonts that are installed to the system. You can install fonts from the app store and after this they show up in "Settings > General" "Fonts" and should be available to all apps installed. |
|
but yes, according to Apple's release notes it seems that you'll have to refactor the coretext api calls. |
One can also install fonts from apps; I installed the Adobe Creative Cloud app, installed one font from it, and it showed up in that location you mentioned and was usable in Pages. How do I find fonts as such in the App Store, that aren't part of an app? I don't see any "Fonts" category? |
|
Bah, this is messier than expected. Note at 18:05 in the WWDC 2019 video that apps are not able to enumerate what fonts provided (and registered) by other apps are present. A specific system dialog must be used to let the user choose one of them. This of course is completely incompatible with how the Collabora Office displays its font selection thing. |
|
I guess one possibility would be to have a fake entry in the tunnelled font list (something like "select custom font") that would cause a call into the native iOS code to bring up a UIFontPickerViewController. But implementing that is not trivial either, there are no similar mechanisms in use already that would mix tunnelled dialogs and native dialogs. (Note that when I say "native" here, I mean really native, using UIKit, not something implemented in JS, CSS, and SVG.) |
|
@smirta , in which part of the Collabora Office iOS app UI is it most important to be able to select these 3rd-party fonts: In the notebookbar, or in the (tunnelled) Format > Character dialog, or in the sidebar? |
As a user I'd say the notebookbar (that's the one in the top bar, right?). But I think it should be available everywhere. Anything else will lead to confusion. Unfortunately we cannot help you a lot with this. We do not use Apple products at all and therefore there is not a lot of know-how around. |
|
I wonder if there is some free (or cheap) and non-trivial third-party app (that preferably has existed for several years) that knows how to use such fonts registered by other third-party apps? It would be interesting to see how it has integrated the new UIFontPickerViewController into its existing UI. One can't really compare to what Pages does, as it seems to be able to use some non-private APIs to be able to get those third-party fonts to show up in its UI which definitely does not use just the UIFontPickerViewController. I think. |
|
FWIW, Google's "Docs" app does not seem to provide access even to the system-provided fonts on iOS (see https://developer.apple.com/fonts/system-fonts/ ), huh? (And even less to ones provided and registered by other third-party apps.) |
|
If we can package those fonts with the app, that would be an immediate solution, but I think it needs to be fixed in longer term anyway |
|
What fonts is it that you are interested in? |
|
We can only include suitably licensed fonts in the app. |
|
yeah, sure. Let's discuss this via e-mail |
|
BTW, I started a trial subscription of Office 365, and in the Word app on iOS I don't see a font called "Yrsa" that I registered in the Adobe Creative Cloud app. (It does show up in Pages, and in Collabora Office with the fix I am working on.) So Microsoft does still have the problem at least in Word. Screenshots: |
|
This is brilliant @tml1024 ! Yeah, we are aware that the Word app also has this problem. But you know, we want Collabora to be better :) |
That way we can use UIFontPickerViewController which gives acess also to fonst provided and registered by other third-party apps on iOS. These fonts are not available otherwise. They don't show up when vcl enumerates fonts in core. This patch is work in progress for #472 . This patch affects only the font name selection control in the notebookbar. On iOS this is now no longer a "combo box" (implemented by the external "select2" Javascript library, if I understand correctly), but a button that brings up a native iOS control). For now it is just a plain HTML button. It should ideally later be styled to fit better into the visual style of the notebookbar. Change-Id: Ic5e53cad09ffa8c99336dfed594337525909dc90 Signed-off-by: Tor Lillqvist <tml@collabora.com>
That way we can use UIFontPickerViewController which gives acess also to fonst provided and registered by other third-party apps on iOS. These fonts are not available otherwise. They don't show up when vcl enumerates fonts in core. This patch is work in progress for #472 . This patch affects only the font name selection control in the notebookbar. On iOS this is now no longer a "combo box" (implemented by the external "select2" Javascript library, if I understand correctly), but a button that brings up a native iOS control). For now it is just a plain HTML button. It should ideally later be styled to fit better into the visual style of the notebookbar. Change-Id: Ic5e53cad09ffa8c99336dfed594337525909dc90 Signed-off-by: Tor Lillqvist <tml@collabora.com>
That way we can use UIFontPickerViewController which gives acess also to fonst provided and registered by other third-party apps on iOS. These fonts are not available otherwise. They don't show up when vcl enumerates fonts in core. This patch is work in progress for #472 . This patch affects only the font name selection control in the notebookbar. On iOS this is now no longer a "combo box" (implemented by the external "select2" Javascript library, if I understand correctly), but a button that brings up a native iOS control). For now it is just a plain HTML button. It should ideally later be styled to fit better into the visual style of the notebookbar. Change-Id: Ic5e53cad09ffa8c99336dfed594337525909dc90 Signed-off-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 977af59)
That way we can use UIFontPickerViewController which gives acess also to fonst provided and registered by other third-party apps on iOS. These fonts are not available otherwise. They don't show up when vcl enumerates fonts in core. This patch is work in progress for #472 . This patch affects only the font name selection control in the notebookbar. On iOS this is now no longer a "combo box" (implemented by the external "select2" Javascript library, if I understand correctly), but a button that brings up a native iOS control). For now it is just a plain HTML button. It should ideally later be styled to fit better into the visual style of the notebookbar. Change-Id: Ic5e53cad09ffa8c99336dfed594337525909dc90 Signed-off-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 977af59)
|
Build 6.4.0 (9) in TestFlight contains the changes so far. |
|
Ah, but yeah, the sidebar is still an issue, re-opening. |
That way we can use UIFontPickerViewController which gives acess also to fonst provided and registered by other third-party apps on iOS. These fonts are not available otherwise. They don't show up when vcl enumerates fonts in core. This patch is work in progress for CollaboraOnline#472 . This patch affects only the font name selection control in the notebookbar. On iOS this is now no longer a "combo box" (implemented by the external "select2" Javascript library, if I understand correctly), but a button that brings up a native iOS control). For now it is just a plain HTML button. It should ideally later be styled to fit better into the visual style of the notebookbar. Change-Id: Ic5e53cad09ffa8c99336dfed594337525909dc90 Signed-off-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 977af59)
|
Re-closing based on Nicolas's comment... The working notebookbar button is a good enough workaround. The sidebar is eventually being re-implemented in JavaScript anyway. |





Describe the bug
After the upgrade to iOS/iPadOS 14 custom fonts are no longer available in Collabora Office. As far as we understood new font handling was introduced with iOS 13 and the way it was done before is no longer possible in iOS/iPadOS 14.
See: https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-14-release-notes#Fonts
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Font can be selected
Actual behavior
Font not available
Screenshots
iPad (please complete the following information)
Additional context
https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-14-release-notes#Fonts
The text was updated successfully, but these errors were encountered: