├── .github ├── FUNDING.yml └── workflows │ ├── auto_update.yml │ ├── build.yml │ └── release.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── LICENSES.md ├── META-INF └── com │ └── google │ └── android │ ├── update-binary │ └── updater-script ├── Makefile ├── README.md ├── freshemoji.json ├── module.prop └── system └── fonts └── NotoColorEmoji.ttf /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [yuk7] -------------------------------------------------------------------------------- /.github/workflows/auto_update.yml: -------------------------------------------------------------------------------- 1 | name: Auto Update CI 2 | 3 | on: 4 | schedule: 5 | - cron: '00 10 * * MON' 6 | workflow_dispatch: 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - uses: actions/checkout@v2 14 | - name: setup requirements and envs 15 | env: 16 | TZ: 'JST' 17 | LANG: 'C' 18 | run: | 19 | sudo apt update 20 | sudo apt install libarchive-tools 21 | echo "RUN_DATETIME=$(date)" >> $GITHUB_ENV 22 | 23 | - name: setup git 24 | run: | 25 | git config --global user.name "yuk7" 26 | git config --global user.email "${{secrets.ACTIONS_EMAIL}}" 27 | - name: clone tags 28 | run: | 29 | git clone https://${{github.actor}}:${{github.token}}@github.com/${{github.repository}} -b main 30 | rm -rf .git 31 | mv FreshEmoji/.git ./ 32 | rm -rf FreshEmoji 33 | - name: fetch updates 34 | run: | 35 | make update 36 | make clean 37 | - name: push to main 38 | run: | 39 | TZ=JST date 40 | git add . 41 | bash -c "git commit -m \"update at ${{env.RUN_DATETIME}}\" || true" 42 | git push --force-with-lease origin main 43 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Build CI 2 | 3 | on: [push] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | 9 | steps: 10 | - uses: actions/checkout@v2 11 | - name: setup requirements 12 | run: | 13 | sudo apt update 14 | sudo apt install libarchive-tools 15 | - name: make test 16 | run: make test 17 | - name: make 18 | run: make 19 | - name: remove .git 20 | run: rm -rf .git 21 | - name: Upload zip file to artifact 22 | uses: actions/upload-artifact@v1 23 | with: 24 | name: all 25 | path: ./ -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release CI 2 | 3 | on: 4 | push: 5 | tags: 6 | - v* 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - uses: actions/checkout@v2 14 | - name: setup requirements 15 | run: | 16 | sudo apt update 17 | sudo apt install libarchive-tools 18 | - name: make 19 | run: make 20 | - name: Create release 21 | id: create_release 22 | uses: actions/create-release@v1.0.0 23 | env: 24 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 25 | with: 26 | tag_name: ${{ github.ref }} 27 | release_name: Release ${{ github.ref }} 28 | draft: false 29 | prerelease: false 30 | - name: Upload Release Asset 31 | id: upload-release-asset 32 | uses: actions/upload-release-asset@v1 33 | env: 34 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 35 | with: 36 | upload_url: ${{ steps.create_release.outputs.upload_url }} 37 | asset_path: FreshEmoji.zip 38 | asset_name: FreshEmoji.zip 39 | asset_content_type: application/zip -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | META-INF/** text eol=lf 2 | *.prop text eol=lf 3 | *.sh text eol=lf 4 | *.md text eol=lf 5 | *.zip -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | [FreshEmoji](https://github.com/yuk7/FreshEmoji) module's changelog 2 | 3 | ## v14.0.1 4 | Add update checker for Magisk 14+ 5 | 6 | ## v14.0.0 7 | Update emoji to Unicode 14.0 -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 yuk7 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /LICENSES.md: -------------------------------------------------------------------------------- 1 | * FreshEmoji 2 | 3 | MIT License 4 | 5 | Copyright (c) 2020 yuk7 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | 26 | * NotoColorEmoji.ttf 27 | 28 | This Font Software is licensed under the SIL Open Font License, 29 | Version 1.1. 30 | 31 | This license is copied below, and is also available with a FAQ at: 32 | http://scripts.sil.org/OFL 33 | 34 | ----------------------------------------------------------- 35 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 36 | ----------------------------------------------------------- 37 | 38 | PREAMBLE 39 | The goals of the Open Font License (OFL) are to stimulate worldwide 40 | development of collaborative font projects, to support the font 41 | creation efforts of academic and linguistic communities, and to 42 | provide a free and open framework in which fonts may be shared and 43 | improved in partnership with others. 44 | 45 | The OFL allows the licensed fonts to be used, studied, modified and 46 | redistributed freely as long as they are not sold by themselves. The 47 | fonts, including any derivative works, can be bundled, embedded, 48 | redistributed and/or sold with any software provided that any reserved 49 | names are not used by derivative works. The fonts and derivatives, 50 | however, cannot be released under any other type of license. The 51 | requirement for fonts to remain under this license does not apply to 52 | any document created using the fonts or their derivatives. 53 | 54 | DEFINITIONS 55 | "Font Software" refers to the set of files released by the Copyright 56 | Holder(s) under this license and clearly marked as such. This may 57 | include source files, build scripts and documentation. 58 | 59 | "Reserved Font Name" refers to any names specified as such after the 60 | copyright statement(s). 61 | 62 | "Original Version" refers to the collection of Font Software 63 | components as distributed by the Copyright Holder(s). 64 | 65 | "Modified Version" refers to any derivative made by adding to, 66 | deleting, or substituting -- in part or in whole -- any of the 67 | components of the Original Version, by changing formats or by porting 68 | the Font Software to a new environment. 69 | 70 | "Author" refers to any designer, engineer, programmer, technical 71 | writer or other person who contributed to the Font Software. 72 | 73 | PERMISSION & CONDITIONS 74 | Permission is hereby granted, free of charge, to any person obtaining 75 | a copy of the Font Software, to use, study, copy, merge, embed, 76 | modify, redistribute, and sell modified and unmodified copies of the 77 | Font Software, subject to the following conditions: 78 | 79 | 1) Neither the Font Software nor any of its individual components, in 80 | Original or Modified Versions, may be sold by itself. 81 | 82 | 2) Original or Modified Versions of the Font Software may be bundled, 83 | redistributed and/or sold with any software, provided that each copy 84 | contains the above copyright notice and this license. These can be 85 | included either as stand-alone text files, human-readable headers or 86 | in the appropriate machine-readable metadata fields within text or 87 | binary files as long as those fields can be easily viewed by the user. 88 | 89 | 3) No Modified Version of the Font Software may use the Reserved Font 90 | Name(s) unless explicit written permission is granted by the 91 | corresponding Copyright Holder. This restriction only applies to the 92 | primary font name as presented to the users. 93 | 94 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 95 | Software shall not be used to promote, endorse or advertise any 96 | Modified Version, except to acknowledge the contribution(s) of the 97 | Copyright Holder(s) and the Author(s) or with their explicit written 98 | permission. 99 | 100 | 5) The Font Software, modified or unmodified, in part or in whole, 101 | must be distributed entirely under this license, and must not be 102 | distributed under any other license. The requirement for fonts to 103 | remain under this license does not apply to any document created using 104 | the Font Software. 105 | 106 | TERMINATION 107 | This license becomes null and void if any of the above conditions are 108 | not met. 109 | 110 | DISCLAIMER 111 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 112 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 113 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 114 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 115 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 116 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 117 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 118 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 119 | OTHER DEALINGS IN THE FONT SOFTWARE. -------------------------------------------------------------------------------- /META-INF/com/google/android/update-binary: -------------------------------------------------------------------------------- 1 | #!/sbin/sh 2 | 3 | ################# 4 | # Initialization 5 | ################# 6 | 7 | umask 022 8 | 9 | # echo before loading util_functions 10 | ui_print() { echo "$1"; } 11 | 12 | require_new_magisk() { 13 | ui_print "*******************************" 14 | ui_print " Please install Magisk v20.4+! " 15 | ui_print "*******************************" 16 | exit 1 17 | } 18 | 19 | ######################### 20 | # Load util_functions.sh 21 | ######################### 22 | 23 | OUTFD=$2 24 | ZIPFILE=$3 25 | 26 | mount /data 2>/dev/null 27 | 28 | [ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk 29 | . /data/adb/magisk/util_functions.sh 30 | [ $MAGISK_VER_CODE -lt 20400 ] && require_new_magisk 31 | 32 | install_module 33 | exit 0 34 | -------------------------------------------------------------------------------- /META-INF/com/google/android/updater-script: -------------------------------------------------------------------------------- 1 | #MAGISK -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | OUT_ZIP=FreshEmoji.zip 2 | SH=sh 3 | DLR=curl 4 | DLR_FLAGS=-L 5 | 6 | all: $(OUT_ZIP) 7 | 8 | zip: $(OUT_ZIP) 9 | $(OUT_ZIP): META-INF module.prop 10 | @echo -e '\e[1;31mBuilding $(OUT_ZIP)\e[m' 11 | bsdtar -a -cf $(OUT_ZIP) * 12 | 13 | test: 14 | $(SH) -n META-INF/com/google/android/update-binary 15 | $(SH) -n META-INF/com/google/android/updater-script 16 | 17 | update: 18 | $(DLR) $(DLR_FLAGS) https://github.com/googlefonts/noto-emoji/archive/refs/heads/main.zip -o upstream.zip 19 | bsdtar -xf upstream.zip noto-emoji-main/fonts/NotoColorEmoji.ttf 20 | mv noto-emoji-main/fonts/NotoColorEmoji.ttf system/fonts/ 21 | 22 | clean: 23 | rm -f $(OUT_ZIP) 24 | rm -f upstream.zip 25 | rm -rf noto-emoji-main -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # FreshEmoji 2 | Install Newer Noto Emoji Font to Your Android 3 | 4 | ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/yuk7/FreshEmoji/Build%20CI?style=flat-square) 5 | [![Github All Releases](https://img.shields.io/github/downloads/yuk7/FreshEmoji/total.svg?style=flat-square)](https://github.com/yuk7/FreshEmoji/releases/latest) 6 | [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) 7 | ![License](https://img.shields.io/github/license/yuk7/FreshEmoji.svg?style=flat-square) 8 | 9 | ### [Download](https://github.com/yuk7/FreshEmoji/releases/latest) 10 | 11 | ## Requirements 12 | * Android 4.4+ 13 | * Magisk v20.4+ 14 | -------------------------------------------------------------------------------- /freshemoji.json: -------------------------------------------------------------------------------- 1 | { 2 | "versionCode": "150100", 3 | "version": "v15.1.0", 4 | "zipUrl": "https://github.com/yuk7/FreshEmoji/releases/download/v15.1.0/FreshEmoji.zip", 5 | "changelog": "https://raw.githubusercontent.com/yuk7/FreshEmoji/main/CHANGELOG.md" 6 | } 7 | -------------------------------------------------------------------------------- /module.prop: -------------------------------------------------------------------------------- 1 | id=fresh-emoji 2 | name=FreshEmoji 3 | version=v15.1.0 4 | versionCode=150100 5 | author=yuk7 6 | description=Fresh Emoji to Your Android 7 | support=https://github.com/yuk7/FreshEmoji 8 | updateJson=https://raw.githubusercontent.com/yuk7/FreshEmoji/main/freshemoji.json 9 | -------------------------------------------------------------------------------- /system/fonts/NotoColorEmoji.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuk7/FreshEmoji/dd981c84668ea7691327db19a444724813e58750/system/fonts/NotoColorEmoji.ttf --------------------------------------------------------------------------------