Google се готви да отдели новите емотикони от системните актуализации на Android 12, което улеснява въвеждането на нови емотикони на телефони.
Актуализация 1 (26.01.2021 г. в 13:53 ET): Google обедини ангажиментите, които позволяват актуализиране на системни шрифтове в Android, точно навреме за Android 12. Щракнете тук за повече информация. Статията, публикувана на 24 ноември 2020 г., е запазена по-долу.
Емоджитата се превърнаха в неразделна част от нашето неформално изразяване. Тези малки графични активи добавят емоции, намерение и характер към обикновените думи. Честото добавяне на нови емотикони към стандарта Unicode е свидетелство за тяхната популярност. Всеки път, когато Unicode получи нови емотикони, трябва да изчакаме надстройка на операционната система да достигне до нашите телефони, за да осигурим поддръжка за емотикони, преди да можем действително да ги направим част от нашия интернет жаргон. Google изглежда се подготвя да направи това по-лесно, тъй като няколко ангажимента показват, че работи върху отделянето на новите емотикони от системните актуализации на Android.
Както е в момента, всички шрифтове на Android в момента се съхраняват в системния дял, и по-конкретно, под /system/fonts указател. Emojis, по-специално, присъстват в извикания файл NotoColorEmoji.ttf. Системният дял е само за четене и актуализирането на всеки файл в дяла изисква системна актуализация, докато дялът не е монтиран. Така че единственият начин да получите нови шрифтове и нови емотикони е да изчакате официална OTA актуализация или инсталирайте го сами неофициално чрез root.
Нови ангажименти бяха забелязани в Android Open Source Project (AOSP) Gerrit, които се стремят да отделят файловете с шрифтове далеч от необходимостта от надграждане на операционната система. Имайте предвид, че тези ангажименти все още не са обединени. Можем да разберем тяхната цел от описанията на комитите:
Добавете директория /data/fonts/files:
Актуализираните файлове с шрифтове ще се съхраняват в /data/fonts/files и всички приложения ще ги четат за чертане на текст. По този начин /data/fonts/files трябва да може да се чете от приложения и да може да се записва само от system_server (и init).
Настройте директория /data/fonts за актуализиращи системни шрифтове:
- /data/fonts/files Актуализираните файлове с шрифтове се поставят в тази директория. Файловете в тази директория могат да се четат от всяко приложение. Само system_server може да записва файлове с шрифтове в тази директория.
- /data/fonts/config Конфигурацията на шрифта, използвана от system_server, се съхранява в тази директория. Само system_server може да чете/пише в тази директория.
Тези ангажименти по същество правят възможно за системен_сървър процес за запис на актуализирани файлове с шрифтове в /data/fonts директория. Разделът с данни е монтиран като четене и запис, така че с тази промяна Google позволява само системен_сървър обработете разрешението за писане в тази директория. След това всички приложения ще прочетат файловете с шрифтове и емотикони от тази директория за рисуване на текст. По този начин актуализираните файлове с шрифтове и като разширение нови емотикони могат да бъдат изпратени на телефона, без да е необходима цяла OTA актуализация за тази цел.
Повтаряме, че тези ангажименти все още не са обединени. Следователно не сме сигурни кога ще се случи тази промяна. Ако тези ангажименти бъдат обединени през следващите няколко месеца, можем да видим тази промяна да се случи в Android 12.
Благодарение на XDA Recognized Developer luca020400 за върха!
Актуализация 1: Възможна поддръжка в Android 12
Преди няколко дни Google обединени ангажиментите, които настройват директория /data/fonts за обновяеми системни шрифтове. Тъй като емотикони се съдържат във файл с шрифтове, това означава, че нови емотикони могат да се добавят чрез натискане на актуализиран файл с шрифтове в тази директория, вместо чрез пълна системна актуализация. И тъй като тези ангажименти бяха обединени преди стабилната версия на Android 12 след няколко месеца, вероятно тази функция за актуализиране на системния шрифт ще бъде налична в предстоящата версия на Android.
Благодарение на @LinkofHyrule89 за върха!