add emoji font for flags
This commit is contained in:
4
Makefile
4
Makefile
@@ -124,10 +124,10 @@ android-aab-release:
|
||||
ls -R build/app/outputs
|
||||
|
||||
windows-release:
|
||||
flutter_distributor package --flutter-build-args=--enable-software-rendering --platform windows --targets exe,msix $(DISTRIBUTOR_ARGS)
|
||||
flutter_distributor package --flutter-build-args=verbose --platform windows --targets exe,msix $(DISTRIBUTOR_ARGS)
|
||||
|
||||
linux-release:
|
||||
flutter_distributor package --flutter-build-args=--enable-software-rendering --platform linux --targets deb,rpm,appimage $(DISTRIBUTOR_ARGS)
|
||||
flutter_distributor package --flutter-build-args=verbose --platform linux --targets deb,rpm,appimage $(DISTRIBUTOR_ARGS)
|
||||
|
||||
macos-release:
|
||||
flutter_distributor package --platform macos --targets dmg,pkg $(DISTRIBUTOR_ARGS)
|
||||
|
||||
Binary file not shown.
@@ -1 +1,4 @@
|
||||
https://github.com/googlefonts/noto-emoji/
|
||||
https://github.com/hiddify-com/noto-emoji
|
||||
|
||||
|
||||
pyftsubset "Emoji3.ttf" --output-file=Emoji.ttf --unicodes=U+1F1E6+1F1E9,U+1F1E6+1F1EA,U+1F1E6+1F1EB,U+1F1E6+1F1EC,U+1F1E6+1F1EE,U+1F1E6+1F1F1,U+1F1E6+1F1F2,U+1F1E6+1F1F4,U+1F1E6+1F1F6,U+1F1E6+1F1F7,U+1F1E6+1F1F8,U+1F1E6+1F1F9,U+1F1E6+1F1FA,U+1F1E6+1F1FC,U+1F1E6+1F1FD,U+1F1E6+1F1FF,U+1F1E7+1F1E6,U+1F1E7+1F1E7,U+1F1E7+1F1E9,U+1F1E7+1F1EA,U+1F1E7+1F1EB,U+1F1E7+1F1EC,U+1F1E7+1F1ED,U+1F1E7+1F1EE,U+1F1E7+1F1EF,U+1F1E7+1F1F1,U+1F1E7+1F1F2,U+1F1E7+1F1F3,U+1F1E7+1F1F4,U+1F1E7+1F1F6,U+1F1E7+1F1F7,U+1F1E7+1F1F8,U+1F1E7+1F1F9,U+1F1E7+1F1FB,U+1F1E7+1F1FC,U+1F1E7+1F1FE,U+1F1E7+1F1FF,U+1F1E8+1F1E6,U+1F1E8+1F1E8,U+1F1E8+1F1E9,U+1F1E8+1F1EB,U+1F1E8+1F1EC,U+1F1E8+1F1ED,U+1F1E8+1F1EE,U+1F1E8+1F1F0,U+1F1E8+1F1F1,U+1F1E8+1F1F2,U+1F1E8+1F1F3,U+1F1E8+1F1F4,U+1F1E8+1F1F7,U+1F1E8+1F1FA,U+1F1E8+1F1FB,U+1F1E8+1F1FC,U+1F1E8+1F1FD,U+1F1E8+1F1FE,U+1F1E8+1F1FF,U+1F1E9+1F1EA,U+1F1E9+1F1EF,U+1F1E9+1F1F0,U+1F1E9+1F1F2,U+1F1E9+1F1F4,U+1F1E9+1F1FF,U+1F1EA+1F1E8,U+1F1EA+1F1EA,U+1F1EA+1F1EC,U+1F1EA+1F1ED,U+1F1EA+1F1F7,U+1F1EA+1F1F8,U+1F1EA+1F1F9,U+1F1EB+1F1EE,U+1F1EB+1F1EF,U+1F1EB+1F1F0,U+1F1EB+1F1F2,U+1F1EB+1F1F4,U+1F1EB+1F1F7,U+1F1EC+1F1E6,U+1F1EC+1F1E7,U+1F1EC+1F1E9,U+1F1EC+1F1EA,U+1F1EC+1F1EB,U+1F1EC+1F1EC,U+1F1EC+1F1ED,U+1F1EC+1F1EE,U+1F1EC+1F1F1,U+1F1EC+1F1F2,U+1F1EC+1F1F3,U+1F1EC+1F1F5,U+1F1EC+1F1F6,U+1F1EC+1F1F7,U+1F1EC+1F1F8,U+1F1EC+1F1F9,U+1F1EC+1F1FA,U+1F1EC+1F1FC,U+1F1EC+1F1FE,U+1F1ED+1F1F0,U+1F1ED+1F1F2,U+1F1ED+1F1F3,U+1F1ED+1F1F7,U+1F1ED+1F1F9,U+1F1ED+1F1FA,U+1F1EE+1F1E9,U+1F1EE+1F1EA,U+1F1EE+1F1F1,U+1F1EE+1F1F2,U+1F1EE+1F1F3,U+1F1EE+1F1F4,U+1F1EE+1F1F6,U+1F1EE+1F1F7,U+1F1EE+1F1F8,U+1F1EE+1F1F9,U+1F1EF+1F1EA,U+1F1EF+1F1F2,U+1F1EF+1F1F4,U+1F1EF+1F1F5,U+1F1F0+1F1EA,U+1F1F0+1F1EC,U+1F1F0+1F1ED,U+1F1F0+1F1EE,U+1F1F0+1F1F2,U+1F1F0+1F1F3,U+1F1F0+1F1F5,U+1F1F0+1F1F7,U+1F1F0+1F1FC,U+1F1F0+1F1FE,U+1F1F0+1F1FF,U+1F1F1+1F1E6,U+1F1F1+1F1E7,U+1F1F1+1F1E8,U+1F1F1+1F1EE,U+1F1F1+1F1F0,U+1F1F1+1F1F7,U+1F1F1+1F1F8,U+1F1F1+1F1F9,U+1F1F1+1F1FA,U+1F1F1+1F1FB,U+1F1F1+1F1FE,U+1F1F2+1F1E6,U+1F1F2+1F1E8,U+1F1F2+1F1E9,U+1F1F2+1F1EA,U+1F1F2+1F1EB,U+1F1F2+1F1EC,U+1F1F2+1F1ED,U+1F1F2+1F1F0,U+1F1F2+1F1F1,U+1F1F2+1F1F2,U+1F1F2+1F1F3,U+1F1F2+1F1F4,U+1F1F2+1F1F5,U+1F1F2+1F1F6,U+1F1F2+1F1F7,U+1F1F2+1F1F8,U+1F1F2+1F1F9,U+1F1F2+1F1FA,U+1F1F2+1F1FB,U+1F1F2+1F1FC,U+1F1F2+1F1FD,U+1F1F2+1F1FE,U+1F1F2+1F1FF,U+1F1F3+1F1E6,U+1F1F3+1F1E8,U+1F1F3+1F1EA,U+1F1F3+1F1EB,U+1F1F3+1F1EC,U+1F1F3+1F1EE,U+1F1F3+1F1F1,U+1F1F3+1F1F4,U+1F1F3+1F1F5,U+1F1F3+1F1F7,U+1F1F3+1F1FA,U+1F1F3+1F1FF,U+1F1F4+1F1F2,U+1F1F5+1F1E6,U+1F1F5+1F1EA,U+1F1F5+1F1EB,U+1F1F5+1F1EC,U+1F1F5+1F1ED,U+1F1F5+1F1F0,U+1F1F5+1F1F1,U+1F1F5+1F1F2,U+1F1F5+1F1F3,U+1F1F5+1F1F7,U+1F1F5+1F1F8,U+1F1F5+1F1F9,U+1F1F5+1F1FC,U+1F1F5+1F1FE,U+1F1F6+1F1E6,U+1F1F7+1F1EA,U+1F1F7+1F1F4,U+1F1F7+1F1F8,U+1F1F7+1F1FA,U+1F1F7+1F1FC,U+1F1F8+1F1E6,U+1F1F8+1F1E7,U+1F1F8+1F1E8,U+1F1F8+1F1E9,U+1F1F8+1F1EA,U+1F1F8+1F1EC,U+1F1F8+1F1ED,U+1F1F8+1F1EE,U+1F1F8+1F1EF,U+1F1F8+1F1F0,U+1F1F8+1F1F1,U+1F1F8+1F1F2,U+1F1F8+1F1F3,U+1F1F8+1F1F4,U+1F1F8+1F1F7,U+1F1F8+1F1F8,U+1F1F8+1F1F9,U+1F1F8+1F1FB,U+1F1F8+1F1FD,U+1F1F8+1F1FE,U+1F1F8+1F1FF,U+1F1F9+1F1E8,U+1F1F9+1F1E9,U+1F1F9+1F1EB,U+1F1F9+1F1EC,U+1F1F9+1F1ED,U+1F1F9+1F1EF,U+1F1F9+1F1F0,U+1F1F9+1F1F1,U+1F1F9+1F1F2,U+1F1F9+1F1F3,U+1F1F9+1F1F4,U+1F1F9+1F1F7,U+1F1F9+1F1F9,U+1F1F9+1F1FB,U+1F1F9+1F1FC,U+1F1F9+1F1FF,U+1F1FA+1F1E6,U+1F1FA+1F1EC,U+1F1FA+1F1F2,U+1F1FA+1F1F8,U+1F1FA+1F1FE,U+1F1FA+1F1FF,U+1F1FB+1F1E6,U+1F1FB+1F1E8,U+1F1FB+1F1EA,U+1F1FB+1F1EC,U+1F1FB+1F1EE,U+1F1FB+1F1F3,U+1F1FB+1F1FA,U+1F1FC+1F1EB,U+1F1FC+1F1F8,U+1F1FE+1F1EA,U+1F1FE+1F1F9,U+1F1FF+1F1E6,U+1F1FF+1F1F2,U+1F1FF+1F1FC
|
||||
|
||||
@@ -3,7 +3,7 @@ import 'package:hiddify/gen/translations.g.dart';
|
||||
|
||||
extension AppLocaleX on AppLocale {
|
||||
String get preferredFontFamily =>
|
||||
this == AppLocale.fa ? FontFamily.shabnam : "";
|
||||
this == AppLocale.fa ? FontFamily.shabnam : FontFamily.emoji;
|
||||
|
||||
String get localeName => switch (flutterLocale.toString()) {
|
||||
"en" => "English",
|
||||
|
||||
@@ -14,6 +14,7 @@ import 'package:hiddify/features/common/qr_code_dialog.dart';
|
||||
import 'package:hiddify/features/profile/model/profile_entity.dart';
|
||||
import 'package:hiddify/features/profile/notifier/profile_notifier.dart';
|
||||
import 'package:hiddify/features/profile/overview/profiles_overview_notifier.dart';
|
||||
import 'package:hiddify/gen/fonts.gen.dart';
|
||||
import 'package:hiddify/utils/utils.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:percent_indicator/percent_indicator.dart';
|
||||
@@ -127,7 +128,10 @@ class ProfileTile extends HookConsumerWidget {
|
||||
profile.name,
|
||||
maxLines: 2,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: theme.textTheme.titleMedium,
|
||||
style:
|
||||
theme.textTheme.titleMedium?.copyWith(
|
||||
fontFamily: FontFamily.emoji,
|
||||
),
|
||||
semanticsLabel: t.profile
|
||||
.activeProfileNameSemanticLabel(
|
||||
name: profile.name,
|
||||
@@ -391,8 +395,7 @@ class ProfileSubscriptionInfo extends HookConsumerWidget {
|
||||
consumed: subInfo.consumption.sizeGB(),
|
||||
total: subInfo.total.sizeGB(),
|
||||
),
|
||||
style: theme.textTheme.bodySmall
|
||||
?.copyWith(fontFamily: getEmojiFont4Desktop()),
|
||||
style: theme.textTheme.bodySmall,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
),
|
||||
|
||||
@@ -7,6 +7,7 @@ import 'package:hiddify/core/widget/shimmer_skeleton.dart';
|
||||
import 'package:hiddify/features/proxy/active/active_proxy_notifier.dart';
|
||||
import 'package:hiddify/features/proxy/active/ip_widget.dart';
|
||||
import 'package:hiddify/features/proxy/model/proxy_failure.dart';
|
||||
import 'package:hiddify/gen/fonts.gen.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
|
||||
class ActiveProxySideBarCard extends HookConsumerWidget {
|
||||
@@ -34,7 +35,8 @@ class ActiveProxySideBarCard extends HookConsumerWidget {
|
||||
return Text(
|
||||
txt,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: theme.textTheme.bodySmall,
|
||||
style:
|
||||
theme.textTheme.bodySmall?.copyWith(fontFamily: FontFamily.emoji),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:hiddify/core/haptic/haptic_service.dart';
|
||||
import 'package:hiddify/core/localization/translations.dart';
|
||||
import 'package:hiddify/core/utils/ip_utils.dart';
|
||||
import 'package:hiddify/gen/fonts.gen.dart';
|
||||
import 'package:hiddify/utils/riverpod_utils.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
|
||||
@@ -33,7 +34,10 @@ class IPText extends HookConsumerWidget {
|
||||
final t = ref.watch(translationsProvider);
|
||||
final isVisible = ref.watch(_showIp);
|
||||
final textTheme = Theme.of(context).textTheme;
|
||||
final ipStyle = constrained ? textTheme.labelMedium : textTheme.labelLarge;
|
||||
final ipStyle =
|
||||
(constrained ? textTheme.labelMedium : textTheme.labelLarge)?.copyWith(
|
||||
fontFamily: FontFamily.emoji,
|
||||
);
|
||||
|
||||
return Semantics(
|
||||
label: t.proxies.ipInfoSemantics.address,
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hiddify/core/localization/locale_extensions.dart';
|
||||
import 'package:hiddify/gen/fonts.gen.dart';
|
||||
import 'package:hiddify/features/proxy/model/proxy_entity.dart';
|
||||
import 'package:hiddify/utils/custom_loggers.dart';
|
||||
@@ -26,7 +27,7 @@ class ProxyTile extends HookConsumerWidget with PresLogger {
|
||||
title: Text(
|
||||
proxy.name,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: TextStyle(fontFamily: getEmojiFont4Desktop()),
|
||||
style: TextStyle(fontFamily: FontFamily.emoji),
|
||||
),
|
||||
leading: Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 8),
|
||||
|
||||
@@ -29,10 +29,3 @@ extension TextEditingControllerX on TextEditingController {
|
||||
return text.textDirection;
|
||||
}
|
||||
}
|
||||
|
||||
String getEmojiFont4Desktop() {
|
||||
if (Platform.isLinux || Platform.isWindows) {
|
||||
return FontFamily.emoji;
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
2
libcore
2
libcore
Submodule libcore updated: 43fd1ceb17...f9e6f022c8
Reference in New Issue
Block a user