Add emoji navigation icons and more ASCII emoji

This commit is contained in:
Aleksandras Kostarevas 2024-06-08 18:59:26 +03:00
parent 412fdd0d0c
commit a93cfd83bd
13 changed files with 325 additions and 43 deletions

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="190.44dp"
android:height="176dp"
android:viewportWidth="190.44"
android:viewportHeight="176">
<path
android:pathData="M24.32,96.96Q28.71,94.83 32.96,92.56Q37.21,90.29 41.01,87.44Q48.27,82.09 53.39,76.08Q58.52,70.08 62.36,62.42Q66.21,54.77 69.43,44.66Q71.78,37.34 73.53,32.47Q75.29,27.6 77.38,24.45Q79.47,21.3 82.62,19.25L78.66,12.88Q71.78,17.42 68.22,24.41Q64.67,31.41 60.94,42.1Q58.23,49.86 55.3,56.53Q52.37,63.19 47.86,69.05Q43.36,74.91 35.74,80.41Q32.23,82.9 28.42,85.02Q24.61,87.14 20.65,89.05ZM151.17,139.22L154.25,131.02Q141.06,125.96 127.11,118.67Q113.16,111.39 99.72,102.49Q86.28,93.59 74.38,83.66Q62.47,73.74 53.32,63.3Q44.16,52.87 38.89,42.54L31.13,46.64Q36.69,57.55 46.21,68.47Q55.74,79.38 68,89.74Q80.27,100.11 94.19,109.37Q108.1,118.64 122.68,126.25Q137.25,133.87 151.17,139.22ZM91.92,161.34L100.12,157.46Q94.77,150.79 89.87,143.25Q84.96,135.7 81.85,127.79Q78.73,119.88 78.73,112.19Q78.73,102.6 82.91,96.08Q87.08,89.56 94.15,85.61Q101.22,81.65 110.16,79.93Q119.09,78.21 128.54,78.21Q138.57,78.21 148.5,79.53Q158.42,80.84 168.16,82.97L170.07,74.33Q159.89,72.13 149.45,70.77Q139.01,69.42 128.54,69.42Q117.04,69.42 106.49,71.8Q95.95,74.18 87.71,79.27Q79.47,84.36 74.71,92.53Q69.95,100.69 69.95,112.27Q69.95,120.4 72.98,128.89Q76.02,137.39 81,145.63Q85.99,153.87 91.92,161.34ZM46.87,139.22Q47.53,126.99 51.89,115.2Q56.25,103.4 62.99,92.67Q69.73,81.94 77.49,72.79Q85.03,63.85 94.7,55.28Q104.37,46.71 115.43,40.42Q126.49,34.12 138.21,31.99L136.74,23.35Q123.92,25.62 111.91,32.29Q99.9,38.95 89.5,48.11Q79.1,57.26 70.82,67Q62.91,76.38 55.99,87.25Q49.07,98.13 44.38,110.03Q39.7,121.93 38.38,134.38ZM95.29,164.63Q111.18,164.63 125.1,158.66Q139.01,152.7 149.6,142.11Q160.18,131.53 166.15,117.58Q172.12,103.62 172.12,87.73Q172.12,71.76 166.15,57.85Q160.18,43.93 149.6,33.35Q139.01,22.76 125.1,16.79Q111.18,10.83 95.29,10.83Q79.32,10.83 65.37,16.79Q51.42,22.76 40.83,33.35Q30.25,43.93 24.28,57.85Q18.31,71.76 18.31,87.73Q18.31,103.62 24.28,117.58Q30.25,131.53 40.83,142.11Q51.42,152.7 65.37,158.66Q79.32,164.63 95.29,164.63ZM95.29,155.84Q81.15,155.84 68.77,150.57Q56.4,145.3 47.02,135.92Q37.65,126.55 32.37,114.21Q27.1,101.87 27.1,87.73Q27.1,73.52 32.41,61.18Q37.72,48.84 47.09,39.5Q56.47,30.16 68.85,24.89Q81.22,19.61 95.29,19.61Q109.35,19.61 121.65,24.89Q133.96,30.16 143.33,39.5Q152.71,48.84 158.02,61.18Q163.33,73.52 163.33,87.73Q163.33,101.87 158.06,114.21Q152.78,126.55 143.41,135.92Q134.03,145.3 121.69,150.57Q109.35,155.84 95.29,155.84Z"
android:fillColor="#FFFFFF"/>
</vector>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="190.44dp"
android:height="176dp"
android:viewportWidth="190.44"
android:viewportHeight="176">
<path
android:pathData="M45.78,114.46L39.18,109.78Q41.97,105.82 47.35,103.44Q52.73,101.06 58.74,101.06Q60.35,101.06 62.88,101.13Q65.4,101.21 67.82,101.28Q70.24,101.35 71.26,101.35Q76.98,101.35 82.51,100.14Q88.04,98.94 94.59,96.12Q101.15,93.3 109.94,88.46Q117.19,84.51 122.94,82.13Q128.69,79.75 133.7,78.68Q138.72,77.62 143.63,77.62Q146.7,77.62 149.34,77.81Q151.98,77.99 154.69,78.35Q152.78,67 150.95,57.74Q149.12,48.47 147.18,39.76Q145.24,31.04 142.75,21.37Q138.72,20.13 134.33,19.5Q129.93,18.88 126.05,18.88Q120.92,18.88 116.45,20.27Q111.99,21.67 106.57,24.67Q99.1,28.77 93.68,30.78Q88.26,32.8 84.04,33.46Q79.83,34.12 75.88,34.12Q73.31,34.12 69.32,33.82Q65.33,33.53 61.63,33.27Q57.93,33.02 56.25,33.02Q41.45,33.02 32.81,42.1L26.95,36.53Q38.01,24.96 56.25,24.96Q60.13,24.96 65.4,25.51Q70.68,26.06 75.88,26.06Q79.25,26.06 82.91,25.51Q86.57,24.96 91.33,23.17Q96.09,21.37 102.76,17.56Q108.84,14.12 114.44,12.47Q120.04,10.83 126.05,10.83Q131.54,10.83 137.58,11.92Q143.63,13.02 149.85,15.15Q152.2,24.16 154.06,32.1Q155.93,40.05 157.62,48.25Q159.3,56.46 161.02,66.09Q162.74,75.72 164.79,88.1Q159.89,87.22 156.52,86.67Q153.15,86.12 150.22,85.9Q147.29,85.68 143.63,85.68Q139.31,85.68 134.95,86.63Q130.59,87.58 125.5,89.74Q120.41,91.9 113.74,95.57Q104.52,100.62 97.26,103.66Q90.01,106.7 83.79,108.05Q77.56,109.41 71.26,109.41Q68.04,109.41 64.71,109.26Q61.38,109.12 58.74,109.12Q54.64,109.12 51.01,110.62Q47.39,112.12 45.78,114.46ZM47.09,164.63Q45.7,164.63 44.38,163.68Q43.07,162.73 42.77,160.75L25.71,30.16Q25.41,28.26 26.59,26.72Q27.76,25.18 30.1,25.18Q31.57,25.18 32.85,26.13Q34.13,27.08 34.42,29.06L51.49,159.65Q51.78,161.56 50.68,163.1Q49.58,164.63 47.09,164.63Z"
android:fillColor="#FFFFFF"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="190.44dp"
android:height="176dp"
android:viewportWidth="190.44"
android:viewportHeight="176">
<path
android:pathData="M95.15,91.68Q73.92,91.68 58.68,87.9Q43.45,84.11 35.27,76.53Q27.1,68.95 27.1,57.7Q27.1,49.72 31.39,41.47Q35.68,33.23 44.22,26.28Q52.76,19.33 65.48,15.08Q78.19,10.83 95.13,10.83Q112.06,10.83 124.8,15.08Q137.55,19.33 146.08,26.28Q154.61,33.23 158.9,41.47Q163.18,49.72 163.18,57.7Q163.18,68.97 155.02,76.55Q146.85,84.14 131.62,87.91Q116.38,91.68 95.15,91.68ZM95.12,164.63Q80.86,164.63 68.74,161.89Q56.62,159.14 47.65,154.17Q38.68,149.2 33.69,142.53Q28.71,135.85 28.71,128.09Q28.71,126.04 29.04,123.91Q29.37,121.79 30.1,119.66L38.45,123.18Q37.57,125.82 37.57,128.38Q37.57,134.4 41.86,139.54Q46.15,144.68 53.92,148.5Q61.69,152.32 72.2,154.45Q82.71,156.58 95.15,156.58Q107.59,156.58 118.1,154.45Q128.6,152.32 136.37,148.5Q144.14,144.68 148.42,139.54Q152.71,134.4 152.71,128.38Q152.71,125.82 151.83,123.18L160.18,119.66Q160.91,121.79 161.24,123.91Q161.57,126.04 161.57,128.09Q161.57,135.85 156.58,142.53Q151.59,149.2 142.61,154.17Q133.63,159.14 121.51,161.89Q109.39,164.63 95.12,164.63ZM95.05,146.62Q85.6,146.62 76.66,145.33Q67.73,144.05 60.38,141.71Q53.03,139.37 48.27,136.22Q36.4,133.14 31.82,127.5Q27.25,121.86 27.25,115.93Q27.25,112.12 29.37,108.9L97.26,141.27L158.57,106.92Q160.69,111.09 160.69,115.93Q160.69,121.84 155.31,127.34Q149.93,132.85 140.62,137.2Q131.32,141.56 119.58,144.09Q107.83,146.62 95.05,146.62ZM98.36,145.44Q83.87,138.26 72.03,132.67Q60.2,127.08 49.11,122.01Q38.01,116.93 25.59,111.45Q22.63,110.12 22.63,107.23Q22.63,105.45 23.82,103.97L33.98,91.39L39.26,94.83L30.03,105.89Q29.74,106.32 29.81,106.77Q29.88,107.21 30.39,107.43Q45.41,113.73 61.52,121.13Q77.64,128.53 94.85,137.53Q96.46,138.34 98,137.46Q111.11,130.28 125.5,122.67Q139.89,115.05 156.59,106.63Q157.54,106.26 156.96,105.38L151.1,95.27L156.44,93.37L162.74,104.36Q163.4,105.53 163.4,106.8Q163.4,109.41 160.69,110.8Q144.29,118.78 129.05,127.17Q113.82,135.56 98.36,145.44ZM92.55,118.86Q78.88,118.86 67.67,116.4Q56.47,113.95 49.36,110.87Q40.87,107.21 37.32,102.39Q33.76,97.57 33.76,89.41L46.65,100.62L71.41,102.45L82.18,109.78L106.86,103.4L130.59,104.94L142.6,98.06L153.08,95.93Q151.24,100.84 147.25,104.36Q143.26,107.87 136.52,110.87Q129.42,114.02 118.11,116.44Q106.81,118.86 92.55,118.86ZM83.35,113.88Q77.34,113.88 73.68,112.05Q70.02,110.21 67.38,105.53Q60.57,106.77 55.66,106.77Q47.31,106.77 42.56,103.82Q37.8,100.87 35.89,93.81Q28.12,92.56 23.77,89.41Q19.41,86.26 19.41,81.72Q19.41,77.62 22.96,73.86Q26.52,70.1 32.37,68.03L34.79,75.06Q29.88,76.96 28.27,78.43Q26.66,79.89 26.66,81.28Q26.66,83.02 30.06,84.57Q33.47,86.12 41.16,87.88Q42.41,94.25 46.36,97.18Q50.32,100.11 58.37,100.11Q61.16,100.11 64.53,99.78Q67.9,99.45 71.85,98.79Q73.39,101.94 74.67,103.63Q75.95,105.33 77.92,105.94Q79.89,106.55 83.35,106.55Q87.82,106.55 92.39,104.65Q96.97,102.74 101.62,100.88Q106.27,99.01 110.89,99.01Q115.59,99.01 120.63,100.58Q125.67,102.16 129.64,102.16Q133.45,102.16 136.01,99.78Q138.57,97.4 140.04,94.03Q141.38,94.32 143.03,94.58Q144.68,94.83 146.41,94.83Q150.07,94.83 153.33,93.44Q156.59,92.06 156.59,89.34Q156.59,88.02 156.26,86.26Q155.93,84.51 155.93,82.6Q155.93,79.17 158.46,76.64Q160.99,74.11 164.28,71.91L163.62,73.89Q163.62,71.03 161.37,69.49Q159.11,67.95 155.64,67.95L155.64,60.56Q162.08,60.56 166.55,64.3Q171.02,68.04 171.02,73.45Q171.02,75.76 169.12,77.31Q167.21,78.87 165.27,80.11Q163.33,81.36 163.33,82.9Q163.33,84.51 163.62,85.86Q163.92,87.22 163.92,89.34Q163.92,94.88 159.24,98.45Q154.56,102.01 148.71,102.01Q145.97,102.01 142.97,101.21Q139.31,109.41 129.56,109.41Q124.22,109.41 119.44,107.87Q114.67,106.33 111.11,106.33Q105.98,106.33 101.62,108.2Q97.26,110.07 92.91,111.97Q88.55,113.88 83.35,113.88ZM62.84,42.91Q61.65,42.32 60.38,41.99Q59.11,41.66 57.71,41.51L58.54,36.39Q62.04,36.83 65.04,38.29ZM78.29,50.38Q77.56,48.62 77.2,46.91Q76.83,45.2 76.68,43.82L81.44,42.76Q81.59,44.08 82.1,45.65Q82.62,47.23 83.13,48.5ZM95.1,83.63Q124.44,83.63 139.42,76.74Q154.39,69.86 154.39,57.7Q154.39,49.72 149.9,42.69Q145.41,35.66 137.34,30.31Q129.27,24.96 118.5,21.92Q107.74,18.88 95.14,18.88Q82.54,18.88 71.78,21.92Q61.01,24.96 52.94,30.31Q44.87,35.66 40.38,42.69Q35.89,49.72 35.89,57.7Q35.89,69.86 50.87,76.74Q65.84,83.63 95.1,83.63ZM85.33,35.95L82.18,31.77Q83.71,30.6 85.26,29.78Q86.8,28.97 88.18,28.48L90.38,32.8Q89.13,33.24 87.74,34.15Q86.35,35.07 85.33,35.95ZM103.78,49.57L98.66,48.76Q98.88,46.87 99.39,45.22Q99.9,43.56 100.56,42.25L105.17,43.71Q104.65,44.87 104.31,46.52Q103.96,48.17 103.78,49.57ZM109.86,35.8Q108.54,35.43 107.23,35.36Q105.91,35.29 104.44,35.29L104.44,30.16Q105.92,30.16 107.86,30.27Q109.79,30.38 111.18,30.89ZM128.18,44.44Q126.71,44.37 125.02,43.97Q123.34,43.56 121.58,42.83L123.49,38Q125.9,39.02 128.61,39.39Z"
android:fillColor="#FFFFFF"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="190.44dp"
android:height="176dp"
android:viewportWidth="190.44"
android:viewportHeight="176">
<path
android:pathData="M111.25,164.63L82.18,153.21L87.38,126.25L87.38,76.67L93.31,77.55L93.31,126.69L89.13,148.89L111.55,157.53L161.21,150.57L156.59,122.45L156.59,77.04L163.77,77.04L163.77,122.23L169.19,155.99ZM54.64,151.23L41.16,116.51L45.19,109.63L60.42,148.89ZM31.05,141.2L25.85,137.75L41.23,113.07L41.23,45.4L46.51,45.4L46.51,116.51ZM57.42,152.62L52.29,48.03L59.84,48.03L65.33,152.11ZM55.15,156.14L21.24,141.86L27.54,109.04L27.54,40.71L34.86,40.71L34.86,109.48L29.81,136.87L56.4,147.79L87.3,143.39L87.6,151.45ZM107.74,161.04L98.22,132.48L102.76,129.7L112.43,159.07ZM90.89,152.77L86.64,149.99L98.44,129.7L98.44,80.7L103.56,80.7L103.56,132.48ZM110.74,162.14L107.37,83.99L113.16,83.99L116.89,161.78ZM53.91,53.82L43.58,47.08L34.35,46.2L27.54,40.71L107.08,31.85L112.65,36.83L128.54,37.71L128.54,44.88ZM50.83,43.64Q48.56,36.75 48.56,30.67Q48.56,21.74 53.06,16.28Q57.57,10.83 65.62,10.83Q73.9,10.83 79.39,17.12Q84.89,23.42 86.57,36.17L79.17,37.71Q77.42,27.3 74.01,22.8Q70.6,18.3 65.4,18.3Q61.16,18.3 58.67,21.88Q56.18,25.47 56.18,31.41Q56.18,36.17 57.93,41.88ZM109.28,87.66L101.07,82.09L90.89,81.06L87.38,76.67L145.97,69.57L163.77,74.33L163.77,79.75ZM66.36,48.4Q64.09,41.51 64.09,35.36Q64.09,26.57 68.63,21.12Q73.17,15.66 81.15,15.66Q89.43,15.66 94.92,21.96Q100.41,28.26 102.1,40.93L94.63,42.54Q92.94,32.14 89.54,27.63Q86.13,23.13 80.93,23.13Q76.68,23.13 74.19,26.72Q71.7,30.31 71.7,36.24Q71.7,41 73.46,46.71ZM101.37,79.6Q99.54,73.89 99.54,68.69Q99.54,61.29 103.31,56.78Q107.08,52.28 113.74,52.28Q120.7,52.28 125.5,57.44Q130.3,62.61 131.69,73.23L125.02,74.69Q123.63,65.98 120.74,62.24Q117.85,58.51 113.52,58.51Q110.01,58.51 107.96,61.44Q105.91,64.37 105.91,69.35Q105.91,73.52 107.37,78.13ZM114.26,83.55Q112.43,77.84 112.43,72.79Q112.43,65.39 116.2,60.85Q119.97,56.31 126.63,56.31Q133.59,56.31 138.13,61.55Q142.67,66.78 144.07,77.33L137.91,78.65Q136.45,70 133.59,66.27Q130.74,62.53 126.42,62.53Q122.83,62.53 120.78,65.5Q118.72,68.47 118.72,73.45Q118.72,75.35 119.09,77.59Q119.46,79.82 120.19,82.16ZM120.48,61.8L120.48,37.71L128.54,37.71L128.54,61.44Z"
android:fillColor="#FFFFFF"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="190.44dp"
android:height="176dp"
android:viewportWidth="190.44"
android:viewportHeight="176">
<path
android:pathData="M126.78,164.63Q115.65,164.63 104.48,159.58Q93.31,154.53 83.5,145L42.7,105.6Q37.65,100.62 37.65,94.47Q37.65,90.07 40.28,86.34Q42.92,82.6 46.95,81.14L44.75,78.94Q40.72,74.91 40.72,69.57Q40.72,65.02 43.43,61.44Q46.14,57.85 50.39,56.6L48.85,55.06Q45.04,51.25 45.04,45.76Q45.04,40.12 49.03,35.95Q53.03,31.77 58.67,31.77Q64.16,31.77 68.11,35.73L70.02,37.63Q71.34,33.31 75.18,30.78Q79.03,28.26 83.57,28.26Q86.13,28.26 88.51,29.1Q90.89,29.94 92.72,31.85L126.49,65.61Q126.12,63.34 125.9,61.29Q125.68,59.24 125.68,57.33Q125.68,51.47 127.99,46.53Q130.3,41.59 134.33,38.58Q138.35,35.58 143.55,35.58Q148.46,35.58 151.68,38.8Q154.91,42.03 154.91,46.57Q154.91,49.2 154.25,51.36Q153.59,53.53 153.59,56.09Q153.59,61.14 156.15,68.83Q158.71,76.52 164.13,89.05L166.26,93.96Q168.6,99.45 169.81,104.43Q171.02,109.41 171.02,114.39Q171.02,125.38 167.8,134.57Q164.57,143.76 158.68,150.5Q152.78,157.24 144.69,160.94Q136.6,164.63 126.78,164.63ZM39.55,140.24Q32.23,139 26.73,133.8Q21.24,128.6 19.41,121.27L26.51,119.52Q27.83,124.79 31.71,128.45Q35.59,132.11 40.79,133.07ZM46.73,127.5Q41.38,126.55 37.39,122.78Q33.4,119 32.15,113.73L39.33,112.05Q40.06,115.2 42.44,117.43Q44.82,119.66 47.97,120.25ZM127,156.58Q134.91,156.58 141.39,153.54Q147.87,150.5 152.53,144.89Q157.18,139.29 159.7,131.56Q162.23,123.84 162.23,114.39Q162.23,109.85 161.35,105.78Q160.47,101.72 158.71,97.69L156.59,92.78Q150.8,79.31 147.98,70.74Q145.17,62.17 145.17,56.09Q145.17,53.75 145.79,51Q146.41,48.25 146.41,47.15Q146.41,45.91 145.42,45.03Q144.43,44.15 142.97,44.15Q140.18,44.15 138.21,45.87Q136.23,47.59 135.17,50.38Q134.11,53.16 134.11,56.38Q134.11,57.77 134.22,59.35Q134.33,60.92 134.69,63.56L136.67,77.4Q129.27,88.75 129.27,99.52Q129.27,104.94 131.21,110.07Q133.15,115.2 136.96,119.81L130.52,125.23Q120.78,113.73 120.78,99.52Q120.78,88.61 126.63,77.7L87.23,38.29Q85.47,36.53 82.98,36.53Q80.71,36.53 78.92,38.11Q77.12,39.68 77.12,42.03Q77.12,44.74 79.03,46.64L110.52,78.13L105.03,83.55L63.13,41.66Q61.23,39.76 58.89,39.76Q56.62,39.76 54.86,41.55Q53.1,43.34 53.1,45.76Q53.1,48.33 54.86,50.08L96.68,91.98L91.26,97.4L58.67,64.88Q57.93,64.07 56.94,63.85Q55.96,63.63 55,63.63Q52.51,63.63 50.76,65.39Q49,67.15 49,69.64Q49,72.06 50.76,73.96L82.69,105.97L77.27,111.39L55.44,89.63Q54.05,88.24 51.85,88.24Q49.58,88.24 47.75,89.93Q45.92,91.61 45.92,93.88Q45.92,96.96 49.22,100.18L89.35,139Q98.22,147.5 107.92,152.04Q117.63,156.58 127,156.58ZM112.79,38.58Q111.55,35.58 108.8,33.79Q106.05,31.99 102.83,31.99L102.83,24.67Q108.25,24.67 112.83,27.67Q117.41,30.67 119.53,35.65ZM123.34,28.99Q121.14,24.01 116.71,21.08Q112.28,18.15 106.93,18.15L106.93,10.83Q114.4,10.83 120.7,14.96Q127,19.1 130.08,26.06Z"
android:fillColor="#FFFFFF"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="190.44dp"
android:height="176dp"
android:viewportWidth="190.44"
android:viewportHeight="176">
<path
android:pathData="M95.21,164.63Q78.51,164.63 64.34,158.88Q50.17,153.13 39.7,142.73Q29.22,132.33 23.4,118.31Q17.58,104.28 17.58,87.73Q17.58,71.18 23.4,57.15Q29.22,43.12 39.7,32.72Q50.17,22.32 64.34,16.57Q78.51,10.83 95.21,10.83Q111.91,10.83 126.09,16.57Q140.26,22.32 150.73,32.72Q161.21,43.12 167.03,57.15Q172.85,71.18 172.85,87.73Q172.85,104.28 167.03,118.31Q161.21,132.33 150.73,142.73Q140.26,153.13 126.09,158.88Q111.91,164.63 95.21,164.63ZM95.21,135.19Q106.2,135.19 115.72,131.24Q105.25,125.16 95.21,125.16Q85.18,125.16 74.71,131.24Q84.23,135.19 95.21,135.19ZM95.21,140.32Q85.69,140.32 76.57,137.24Q67.46,134.17 60.13,129Q52.81,123.84 48.45,117.61Q44.09,111.39 44.09,105.09Q44.09,101.21 45.85,99.63Q47.61,98.06 50.54,98.06Q52.37,98.06 55.19,98.5Q58.01,98.94 61.67,99.67Q68.19,100.91 76.83,102.05Q85.47,103.18 95.21,103.18Q105.03,103.18 113.67,102.05Q122.31,100.91 128.76,99.67Q132.42,98.94 135.24,98.5Q138.06,98.06 139.89,98.06Q142.82,98.06 144.58,99.63Q146.34,101.21 146.34,105.09Q146.34,111.39 141.98,117.61Q137.62,123.84 130.3,129Q122.97,134.17 113.85,137.24Q104.74,140.32 95.21,140.32ZM95.21,115.63Q102.1,115.63 109.94,115.09Q117.77,114.54 125.61,113.33Q133.45,112.12 140.26,110.29L140.26,105.09Q140.26,103.99 139.38,103.66Q138.5,103.33 137.55,103.55Q131.32,105.01 123.81,106.08Q116.31,107.14 108.87,107.72Q101.44,108.31 95.21,108.31Q89.06,108.31 81.59,107.72Q74.12,107.14 66.65,106.08Q59.18,105.01 52.88,103.55Q51.93,103.33 51.05,103.66Q50.17,103.99 50.17,105.09L50.17,110.29Q56.98,112.12 64.82,113.33Q72.66,114.54 80.53,115.09Q88.4,115.63 95.21,115.63ZM69.43,83.7Q65.26,83.7 62.29,80.15Q59.33,76.6 59.33,71.62Q59.33,66.64 62.29,63.08Q65.26,59.53 69.43,59.53Q73.53,59.53 76.54,63.08Q79.54,66.64 79.54,71.62Q79.54,76.52 76.57,80.11Q73.61,83.7 69.43,83.7ZM95.21,156.58Q110.08,156.58 122.64,151.41Q135.2,146.25 144.47,136.98Q153.73,127.72 158.9,115.12Q164.06,102.52 164.06,87.73Q164.06,72.86 158.9,60.3Q153.73,47.74 144.47,38.47Q135.2,29.21 122.64,24.05Q110.08,18.88 95.21,18.88Q80.42,18.88 67.86,24.05Q55.3,29.21 46,38.47Q36.69,47.74 31.53,60.3Q26.37,72.86 26.37,87.73Q26.37,102.52 31.53,115.12Q36.69,127.72 45.96,136.98Q55.22,146.25 67.82,151.41Q80.42,156.58 95.21,156.58ZM121,83.7Q116.82,83.7 113.85,80.15Q110.89,76.6 110.89,71.62Q110.89,66.64 113.85,63.08Q116.82,59.53 121,59.53Q125.1,59.53 128.1,63.08Q131.1,66.64 131.1,71.62Q131.1,76.52 128.14,80.11Q125.17,83.7 121,83.7Z"
android:fillColor="#FFFFFF"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="190.44dp"
android:height="176dp"
android:viewportWidth="190.44"
android:viewportHeight="176">
<path
android:pathData="M95.21,164.63Q79.32,164.63 65.37,158.66Q51.42,152.7 40.83,142.11Q30.25,131.53 24.28,117.58Q18.31,103.62 18.31,87.66Q18.31,71.76 24.28,57.85Q30.25,43.93 40.83,33.35Q51.42,22.76 65.37,16.79Q79.32,10.83 95.21,10.83Q111.18,10.83 125.1,16.79Q139.01,22.76 149.6,33.35Q160.18,43.93 166.15,57.85Q172.12,71.76 172.12,87.66Q172.12,103.62 166.15,117.58Q160.18,131.53 149.6,142.11Q139.01,152.7 125.1,158.66Q111.18,164.63 95.21,164.63ZM95.21,133.21Q104.66,133.21 112.9,129.66Q121.14,126.11 127.4,119.88Q133.67,113.66 137.18,105.38Q140.7,97.1 140.7,87.66Q140.7,78.28 137.18,70.04Q133.67,61.8 127.4,55.54Q121.14,49.28 112.9,45.76Q104.66,42.25 95.21,42.25Q85.77,42.25 77.53,45.76Q69.29,49.28 63.02,55.54Q56.76,61.8 53.25,70.04Q49.73,78.28 49.73,87.66Q49.73,97.1 53.25,105.38Q56.76,113.66 63.02,119.88Q69.29,126.11 77.53,129.66Q85.77,133.21 95.21,133.21Z"
android:fillColor="#FFFFFF"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="190.44dp"
android:height="176dp"
android:viewportWidth="190.44"
android:viewportHeight="176">
<path
android:pathData="M41.16,150.06L32.88,141.78Q36.4,136.22 41.23,128.78Q46.07,121.35 51.63,113.07Q57.2,104.79 62.91,96.96Q78.95,74.91 93.2,58.69Q107.45,42.47 119.64,31.85Q131.83,21.23 141.76,16.03Q151.68,10.83 159.15,10.83Q165.23,10.83 168.68,14.27Q172.12,17.71 172.12,23.79Q172.12,31.26 166.92,41.18Q161.72,51.11 151.1,63.3Q140.48,75.5 124.25,89.74Q108.03,103.99 85.99,120.03Q78.15,125.74 69.87,131.31Q61.6,136.87 54.16,141.71Q46.73,146.54 41.16,150.06ZM47.83,127.87L18.31,110.14L25.63,99.81L61.96,107.36ZM72.95,164.63L55.22,135.12L75.73,120.98L83.28,157.31ZM41.6,48.47L36.99,44.96L41.67,38.8L46.36,42.32ZM138.13,145.96L134.62,141.34L140.77,136.58L144.29,141.27ZM59.47,58.65L54.93,54.92L59.62,49.13L64.16,52.87ZM128.17,128.01L124.44,123.47L130.22,118.78L133.96,123.33ZM76.1,68.39L71.48,64.8L75.95,59.02L80.57,62.68ZM118.29,111.46L114.7,106.85L120.41,102.38L124.07,106.99ZM106.86,96.23Q105.47,96.23 104.52,94.83Q103.56,93.44 103.56,91.54Q103.56,89.63 104.52,88.24Q105.47,86.85 106.86,86.85Q108.25,86.85 109.2,88.24Q110.16,89.63 110.16,91.54ZM87.45,72.86L77.78,62.31L18.31,30.75L32.01,15.51L118.94,40.2L111.33,46.86L35.23,24.01L30.69,29.06L83.06,55.58L93.02,66.49ZM152.2,164.63L120.63,105.16L110.08,95.49L116.45,89.93L127.37,99.89L153.88,152.26L158.93,147.71L136.08,71.62L142.75,64L167.43,150.94ZM50.1,134.24Q59.69,128.09 68.88,121.57Q78.08,115.05 86.94,108.27Q95.8,101.5 104.19,94.47Q112.57,87.44 120.48,80.26Q134.4,67.59 144.32,56.78Q154.25,45.98 159.52,37.6Q164.79,29.21 164.79,23.79Q164.79,21.01 163.37,19.58Q161.94,18.15 159.15,18.15Q154.03,18.15 145.6,23.42Q137.18,28.7 126.23,38.58Q115.28,48.47 102.68,62.46Q93.16,73.01 83.71,84.73Q74.27,96.45 65.44,108.64Q56.62,120.83 48.71,132.99ZM119.09,85.61Q117.7,85.61 116.75,84.21Q115.79,82.82 115.79,80.92Q115.79,78.94 116.75,77.59Q117.7,76.23 119.09,76.23Q120.48,76.23 121.43,77.62Q122.39,79.01 122.39,80.92ZM130.15,75.28Q128.76,75.28 127.81,73.89Q126.85,72.5 126.85,70.59Q126.85,68.69 127.81,67.29Q128.76,65.9 130.15,65.9Q131.54,65.9 132.49,67.29Q133.45,68.69 133.45,70.59ZM101.88,41.29L89.28,33.75Q89.28,31.04 90.45,28.66Q91.62,26.28 94.77,23.35L102.68,15.95Q106.35,16.68 109.97,20.31Q113.6,23.94 114.33,27.82ZM149.34,93.66L141.8,81.06L155.27,68.61Q159.15,69.35 162.78,72.97Q166.41,76.6 167.14,80.26L159.74,88.17Q156.81,91.32 154.43,92.49Q152.05,93.66 149.34,93.66ZM140.84,64.29Q139.45,64.29 138.5,62.9Q137.55,61.51 137.55,59.6Q137.55,57.7 138.5,56.31Q139.45,54.92 140.84,54.92Q142.24,54.92 143.19,56.31Q144.14,57.7 144.14,59.6ZM158.13,48.4L154.91,45.47Q156.66,43.64 157.43,41.7Q158.2,39.76 158.2,37.85Q158.2,34.7 156.22,31.74Q154.25,28.77 151.24,26.83Q148.24,24.89 145.09,24.89Q143.19,24.89 141.25,25.66Q139.31,26.43 137.47,28.18L134.54,24.96Q137.47,22.25 140.51,21.04Q143.55,19.83 146.48,19.83Q150.8,19.83 154.65,22.18Q158.5,24.52 160.88,28.33Q163.26,32.14 163.26,36.46Q163.26,39.39 162.05,42.43Q160.84,45.47 158.13,48.4Z"
android:fillColor="#FFFFFF"/>
</vector>

View File

@ -19124,7 +19124,7 @@
, "ios_version": "6.0"
}
, {
"emoji": "✴️"
"emoji": "✴️"
, "description": "eight-pointed star"
, "category": "Symbols"
, "aliases": [
@ -23475,25 +23475,193 @@
, "ios_version": "12.1"
},
{
"emoji": ":)"
, "description": "smiley"
, "category": "ASCII"
, "aliases": [
]
, "tags": [
]
, "unicode_version": ""
, "ios_version": ""
"emoji": ":)",
"description": "smiley face",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": ":(",
"description": "sad face",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": ":D",
"description": "big smile",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": ";)",
"description": "winking face",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": ":P",
"description": "sticking out tongue",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": ":O",
"description": "surprised face",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": "XD",
"description": "laughing face",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": ":3",
"description": "cat face",
"category": "ASCII",
"aliases": ["catface", "meow"],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": ":-/",
"description": "skeptical face",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": ":'(",
"description": "crying face",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": ">:(",
"description": "angry face",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": "<3",
"description": "heart",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": "O_O",
"description": "wide eyes",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": "-_-",
"description": "disappointed face",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": ">.<",
"description": "frustrated face",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": "^_^",
"description": "happy face",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": "T_T",
"description": "crying face",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": ">:D",
"description": "evil smile",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": "B)",
"description": "cool face with sunglasses",
"category": "ASCII",
"aliases": [],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": "(╯°□°)╯︵ ┻━┻",
"description": "tableflip",
"category": "ASCII",
"aliases": ["tableflip"],
"tags": [],
"unicode_version": "",
"ios_version": ""
},
{
"emoji": "¯\\_(ツ)_/¯",
"description": "shruggie",
"category": "ASCII",
"aliases": ["shruggie", "idk"],
"tags": [],
"unicode_version": "",
"ios_version": ""
}
, {
"emoji": ":3"
, "description": "cat face"
, "category": "ASCII"
, "aliases": [
]
, "tags": [
]
, "unicode_version": ""
, "ios_version": ""
}
]

View File

@ -2,18 +2,12 @@ package org.futo.inputmethod.latin.uix.actions
import android.content.Context
import android.graphics.drawable.Drawable
import android.text.InputType
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.accessibility.AccessibilityEvent
import android.view.inputmethod.EditorInfo
import android.view.inputmethod.InputConnection
import android.widget.EditText
import android.widget.TextView
import androidx.annotation.UiThread
import androidx.appcompat.widget.AppCompatEditText
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.foundation.Canvas
import androidx.compose.foundation.background
@ -31,6 +25,7 @@ import androidx.compose.foundation.lazy.LazyRow
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.MaterialTheme
@ -66,8 +61,11 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.semantics.Role
import androidx.compose.ui.semantics.clearAndSetSemantics
import androidx.compose.ui.semantics.contentDescription
import androidx.compose.ui.semantics.role
import androidx.compose.ui.semantics.text
import androidx.compose.ui.semantics.toggleableState
import androidx.compose.ui.state.ToggleableState
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.IntOffset
@ -94,7 +92,6 @@ import org.futo.inputmethod.latin.uix.ActionWindow
import org.futo.inputmethod.latin.uix.AutoFitText
import org.futo.inputmethod.latin.uix.EmojiTracker.getRecentEmojis
import org.futo.inputmethod.latin.uix.EmojiTracker.useEmoji
import org.futo.inputmethod.latin.uix.LocalManager
import org.futo.inputmethod.latin.uix.PersistentActionState
import org.futo.inputmethod.latin.uix.actions.emoji.EmojiItem
import org.futo.inputmethod.latin.uix.actions.emoji.EmojiView
@ -435,7 +432,6 @@ fun EmojiNavigation(
}
EmojiCategoriesContainer(Modifier.weight(1.0f), categories, goToCategory, activeCategoryItem)
//CustomEditTextView()
if(showKeys) {
BackspaceKey(onBackspace)
@ -444,6 +440,19 @@ fun EmojiNavigation(
}
}
val iconMap = mapOf(
"Recent" to R.drawable.ic_emoji_recents_activated_lxx_dark,
"Smileys & Emotion" to R.drawable.smileys_and_emotion,
"People & Body" to R.drawable.people_and_body,
"Animals & Nature" to R.drawable.animals_and_nature,
"Food & Drink" to R.drawable.food_and_drink,
"Travel & Places" to R.drawable.travel_and_places,
"Activities" to R.drawable.activities,
"Objects" to R.drawable.objects,
"Symbols" to R.drawable.symbols,
"Flags" to R.drawable.flags,
"ASCII" to R.drawable.ic_emoji_emoticons_activated_lxx_dark,
)
@Composable
private fun EmojiCategoriesContainer(
modifier: Modifier,
@ -471,20 +480,33 @@ private fun EmojiCategoriesContainer(
)
} else {
Modifier
}.clearAndSetSemantics {
contentDescription = "Jump to ${it.title}"
toggleableState = ToggleableState(it == activeCategoryItem)
}
) {
AutoFitText(
it.title,
style = Typography.labelSmall.copy(
color = MaterialTheme.colorScheme.onBackground.copy(
alpha = if (it == activeCategoryItem) {
1.0f
} else {
0.6f
}
)
)
val color = MaterialTheme.colorScheme.onBackground.copy(
alpha = if (it == activeCategoryItem) {
1.0f
} else {
0.6f
}
)
val icon = iconMap[it.title]
if(icon != null) {
Icon(
painterResource(id = icon),
contentDescription = null,
tint = color,
modifier = Modifier.size(24.dp)
)
} else {
AutoFitText(
it.title,
style = Typography.labelSmall.copy(color = color)
)
}
}
}
}
@ -746,7 +768,7 @@ fun EmojiGridPreview() {
onExit = {},
onSpace = {},
emojis = listOf("😀", "😃", "😄", "😁", "😆", "😅", "😂", "🤣", "😊", "😇").map {
EmojiItem(emoji = it, description = "", category = "Category", skinTones = false, aliases = listOf(), tags = listOf())
EmojiItem(emoji = it, description = "", category = "Smileys & Emotion", skinTones = false, aliases = listOf(), tags = listOf())
},
keyboardShown = false,
emojiMap = hashMapOf(),

View File

@ -125,7 +125,13 @@ class EmojiView @JvmOverloads constructor(
if (emoji is Spanned) {
createStaticLayout(emoji, width).draw(this)
} else {
val textWidth = textPaint.measureText(emoji, 0, emoji.length)
var textWidth = textPaint.measureText(emoji, 0, emoji.length)
if(textWidth > width) {
scale(width / textWidth, 1.0f)
textWidth = width.toFloat()
} else {
scale(1.0f, 1.0f)
}
drawText(
emoji,
/* start = */ 0,

View File

@ -52,12 +52,17 @@ fun CreditsScreen(navController: NavHostController = rememberNavController()) {
modifier = Modifier.clickable {
context.openURI("https://github.com/gkonovalov/android-vad")
})
ParagraphText("Some keyboard layouts were taken from the CyanogenMod/LineageOS fork of the LatinIME keyboard. Their fork is Apache-2.0 licensed. Copyright (C) 2015 The CyanogenMod Project",
modifier = Modifier.clickable {
context.openURI("https://github.com/LineageOS/android_packages_inputmethods_LatinIME")
})
ParagraphText("Emoji icons are taken from the Noto Emoji font, licensed under OFL.",
modifier = Modifier.clickable {
context.openURI("https://fonts.google.com/noto/specimen/Noto+Emoji")
})
Spacer(modifier = Modifier.height(16.dp))
ParagraphText("Note: The authors listed above are not affiliated with us and do not endorse or promote us")
}