diff --git a/android/app/src/main/res/font/expensify_mono.xml b/android/app/src/main/res/font/expensify_mono.xml index 346a34ba22b6..fe966e831e31 100644 --- a/android/app/src/main/res/font/expensify_mono.xml +++ b/android/app/src/main/res/font/expensify_mono.xml @@ -1,5 +1,7 @@ + + diff --git a/android/app/src/main/res/font/expensifymono_bolditalic.otf b/android/app/src/main/res/font/expensifymono_bolditalic.otf new file mode 100644 index 000000000000..4f3ac80d9119 Binary files /dev/null and b/android/app/src/main/res/font/expensifymono_bolditalic.otf differ diff --git a/android/app/src/main/res/font/expensifymono_italic.otf b/android/app/src/main/res/font/expensifymono_italic.otf new file mode 100644 index 000000000000..d2a7b8124b82 Binary files /dev/null and b/android/app/src/main/res/font/expensifymono_italic.otf differ diff --git a/android/link-assets-manifest.json b/android/link-assets-manifest.json index 1c59d667fca1..9cf517a7fab4 100644 --- a/android/link-assets-manifest.json +++ b/android/link-assets-manifest.json @@ -5,6 +5,14 @@ "path": "assets/fonts/native/ExpensifyMono-Bold.otf", "sha1": "d70e12540200613e9e6ac9068bed57e4bf477bfe" }, + { + "path": "assets/fonts/native/ExpensifyMono-BoldItalic.otf", + "sha1": "ef9f92ba902942e232301c64bb55e79165435bcc" + }, + { + "path": "assets/fonts/native/ExpensifyMono-Italic.otf", + "sha1": "874301891972b3a2a6a8ece69b978e74ac9d10a2" + }, { "path": "assets/fonts/native/ExpensifyMono-Regular.otf", "sha1": "9bbd3795afea1b1136c5b6a8ecd7d470fd5ea1b2" diff --git a/assets/css/fonts.css b/assets/css/fonts.css index 7705be0b1140..7d24eb353189 100644 --- a/assets/css/fonts.css +++ b/assets/css/fonts.css @@ -40,6 +40,20 @@ src: url('/fonts/ExpensifyMono-Bold.woff2') format('woff2'), url('/fonts/ExpensifyMono-Bold.woff') format('woff'); } +@font-face { + font-family: Expensify Mono; + font-weight: 400; + font-style: italic; + src: url('/fonts/ExpensifyMono-Italic.woff2') format('woff2'), url('/fonts/ExpensifyMono-Italic.woff') format('woff'); +} + +@font-face { + font-family: Expensify Mono; + font-weight: 700; + font-style: italic; + src: url('/fonts/ExpensifyMono-BoldItalic.woff2') format('woff2'), url('/fonts/ExpensifyMono-BoldItalic.woff') format('woff'); +} + @font-face { font-family: Expensify New Kansas; font-weight: 500; diff --git a/assets/fonts/native/ExpensifyMono-BoldItalic.otf b/assets/fonts/native/ExpensifyMono-BoldItalic.otf new file mode 100644 index 000000000000..4f3ac80d9119 Binary files /dev/null and b/assets/fonts/native/ExpensifyMono-BoldItalic.otf differ diff --git a/assets/fonts/native/ExpensifyMono-Italic.otf b/assets/fonts/native/ExpensifyMono-Italic.otf new file mode 100644 index 000000000000..d2a7b8124b82 Binary files /dev/null and b/assets/fonts/native/ExpensifyMono-Italic.otf differ diff --git a/assets/fonts/web/ExpensifyMono-BoldItalic.woff b/assets/fonts/web/ExpensifyMono-BoldItalic.woff new file mode 100644 index 000000000000..898a2c908d02 Binary files /dev/null and b/assets/fonts/web/ExpensifyMono-BoldItalic.woff differ diff --git a/assets/fonts/web/ExpensifyMono-BoldItalic.woff2 b/assets/fonts/web/ExpensifyMono-BoldItalic.woff2 new file mode 100644 index 000000000000..27e67d312f3d Binary files /dev/null and b/assets/fonts/web/ExpensifyMono-BoldItalic.woff2 differ diff --git a/assets/fonts/web/ExpensifyMono-Italic.woff b/assets/fonts/web/ExpensifyMono-Italic.woff new file mode 100644 index 000000000000..8b823f33a4a6 Binary files /dev/null and b/assets/fonts/web/ExpensifyMono-Italic.woff differ diff --git a/assets/fonts/web/ExpensifyMono-Italic.woff2 b/assets/fonts/web/ExpensifyMono-Italic.woff2 new file mode 100644 index 000000000000..b7b7df6f5131 Binary files /dev/null and b/assets/fonts/web/ExpensifyMono-Italic.woff2 differ diff --git a/ios/NewExpensify.xcodeproj/project.pbxproj b/ios/NewExpensify.xcodeproj/project.pbxproj index c8d825589bfb..14866da313d5 100644 --- a/ios/NewExpensify.xcodeproj/project.pbxproj +++ b/ios/NewExpensify.xcodeproj/project.pbxproj @@ -20,6 +20,7 @@ 0DFC45952C884E0A00B56C91 /* RCTShortcutManagerModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DFC45932C884E0A00B56C91 /* RCTShortcutManagerModule.m */; }; 0F5E5350263B73FD004CA14F /* EnvironmentChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F5E534F263B73FD004CA14F /* EnvironmentChecker.m */; }; 0F5E5351263B73FD004CA14F /* EnvironmentChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F5E534F263B73FD004CA14F /* EnvironmentChecker.m */; }; + 0F749C2B3B8F4562B816DEAB /* ExpensifyMono-Italic.otf in Resources */ = {isa = PBXBuildFile; fileRef = ED64768FC6254E4D8FCD12BC /* ExpensifyMono-Italic.otf */; }; 1246A3EF20E54E7A9494C8B9 /* ExpensifyNeue-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = F4F8A052A22040339996324B /* ExpensifyNeue-Regular.otf */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 18D050E0262400AF000D658B /* BridgingFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18D050DF262400AF000D658B /* BridgingFile.swift */; }; @@ -28,6 +29,7 @@ 30581EA8AAFD4FCE88C5D191 /* ExpensifyNeue-Italic.otf in Resources */ = {isa = PBXBuildFile; fileRef = BF6A4C5167244B9FB8E4D4E3 /* ExpensifyNeue-Italic.otf */; }; 374FB8D728A133FE000D84EF /* OriginImageRequestHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = 374FB8D628A133FE000D84EF /* OriginImageRequestHandler.mm */; }; 383643682B6D4AE2005BB9AE /* DeviceCheck.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 383643672B6D4AE2005BB9AE /* DeviceCheck.framework */; }; + 524F95D57E75496EBD14B0AA /* ExpensifyMono-BoldItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = A96F65C6624044318D21DAB1 /* ExpensifyMono-BoldItalic.otf */; }; 7041848526A8E47D00E09F4D /* RCTStartupTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = 7041848426A8E47D00E09F4D /* RCTStartupTimer.m */; }; 7041848626A8E47D00E09F4D /* RCTStartupTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = 7041848426A8E47D00E09F4D /* RCTStartupTimer.m */; }; 70CF6E82262E297300711ADC /* BootSplash.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 70CF6E81262E297300711ADC /* BootSplash.storyboard */; }; @@ -142,6 +144,7 @@ 8B28D84EF339436DBD42A203 /* ExpensifyNeue-BoldItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "ExpensifyNeue-BoldItalic.otf"; path = "../assets/fonts/native/ExpensifyNeue-BoldItalic.otf"; sourceTree = ""; }; 8EFE0319D586C1078DB926FD /* Pods-NewExpensify.releaseadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify.releaseadhoc.xcconfig"; path = "Target Support Files/Pods-NewExpensify/Pods-NewExpensify.releaseadhoc.xcconfig"; sourceTree = ""; }; 9196A72C11B91A52A43D6E8A /* libPods-NotificationServiceExtension.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NotificationServiceExtension.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + A96F65C6624044318D21DAB1 /* ExpensifyMono-BoldItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "ExpensifyMono-BoldItalic.otf"; path = "../assets/fonts/native/ExpensifyMono-BoldItalic.otf"; sourceTree = ""; }; AC131FBA2CF634F20010CE80 /* BackgroundTasks.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BackgroundTasks.framework; path = System/Library/Frameworks/BackgroundTasks.framework; sourceTree = SDKROOT; }; BBE493797E97F2995E627244 /* Pods-NotificationServiceExtension.debugadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NotificationServiceExtension.debugadhoc.xcconfig"; path = "Target Support Files/Pods-NotificationServiceExtension/Pods-NotificationServiceExtension.debugadhoc.xcconfig"; sourceTree = ""; }; BCD444BEDDB0AF1745B39049 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-NewExpensify-NewExpensifyTests/ExpoModulesProvider.swift"; sourceTree = ""; }; @@ -159,6 +162,7 @@ E9DF872C2525201700607FDC /* AirshipConfig.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = AirshipConfig.plist; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; }; + ED64768FC6254E4D8FCD12BC /* ExpensifyMono-Italic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "ExpensifyMono-Italic.otf"; path = "../assets/fonts/native/ExpensifyMono-Italic.otf"; sourceTree = ""; }; EF33B19FC6A7FE676839430D /* libPods-NewExpensify-NewExpensifyTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NewExpensify-NewExpensifyTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; EFA5CA89CC675CA3370CF89E /* Pods-NewExpensify.debugproduction.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify.debugproduction.xcconfig"; path = "Target Support Files/Pods-NewExpensify/Pods-NewExpensify.debugproduction.xcconfig"; sourceTree = ""; }; F0C450E92705020500FD2970 /* colors.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = colors.json; path = ../colors.json; sourceTree = ""; }; @@ -345,6 +349,8 @@ 44BF435285B94E5B95F90994 /* ExpensifyNewKansas-Medium.otf */, D2AFB39EC1D44BF9B91D3227 /* ExpensifyNewKansas-MediumItalic.otf */, DCF33E34FFEC48128CDD41D4 /* ExpensifyMono-Bold.otf */, + A96F65C6624044318D21DAB1 /* ExpensifyMono-BoldItalic.otf */, + ED64768FC6254E4D8FCD12BC /* ExpensifyMono-Italic.otf */, E704648954784DDFBAADF568 /* ExpensifyMono-Regular.otf */, 52796131E6554494B2DDB056 /* ExpensifyNeue-Bold.otf */, 8B28D84EF339436DBD42A203 /* ExpensifyNeue-BoldItalic.otf */, @@ -532,6 +538,8 @@ 30581EA8AAFD4FCE88C5D191 /* ExpensifyNeue-Italic.otf in Resources */, 1246A3EF20E54E7A9494C8B9 /* ExpensifyNeue-Regular.otf in Resources */, D27CE6B77196EF3EF450EEAC /* PrivacyInfo.xcprivacy in Resources */, + 524F95D57E75496EBD14B0AA /* ExpensifyMono-BoldItalic.otf in Resources */, + 0F749C2B3B8F4562B816DEAB /* ExpensifyMono-Italic.otf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist index 25deb5ad9f83..44b35c2d63fe 100644 --- a/ios/NewExpensify/Info.plist +++ b/ios/NewExpensify/Info.plist @@ -92,6 +92,8 @@ ExpensifyNewKansas-Medium.otf ExpensifyNewKansas-MediumItalic.otf ExpensifyMono-Bold.otf + ExpensifyMono-BoldItalic.otf + ExpensifyMono-Italic.otf ExpensifyMono-Regular.otf ExpensifyNeue-Bold.otf ExpensifyNeue-BoldItalic.otf diff --git a/ios/link-assets-manifest.json b/ios/link-assets-manifest.json index 1c59d667fca1..9cf517a7fab4 100644 --- a/ios/link-assets-manifest.json +++ b/ios/link-assets-manifest.json @@ -5,6 +5,14 @@ "path": "assets/fonts/native/ExpensifyMono-Bold.otf", "sha1": "d70e12540200613e9e6ac9068bed57e4bf477bfe" }, + { + "path": "assets/fonts/native/ExpensifyMono-BoldItalic.otf", + "sha1": "ef9f92ba902942e232301c64bb55e79165435bcc" + }, + { + "path": "assets/fonts/native/ExpensifyMono-Italic.otf", + "sha1": "874301891972b3a2a6a8ece69b978e74ac9d10a2" + }, { "path": "assets/fonts/native/ExpensifyMono-Regular.otf", "sha1": "9bbd3795afea1b1136c5b6a8ecd7d470fd5ea1b2" diff --git a/src/components/HTMLEngineProvider/HTMLRenderers/CodeRenderer.tsx b/src/components/HTMLEngineProvider/HTMLRenderers/CodeRenderer.tsx index a319507bc3ad..6350fe0556da 100644 --- a/src/components/HTMLEngineProvider/HTMLRenderers/CodeRenderer.tsx +++ b/src/components/HTMLEngineProvider/HTMLRenderers/CodeRenderer.tsx @@ -28,12 +28,6 @@ function CodeRenderer({TDefaultRenderer, key, style, ...defaultRendererProps}: C const textStyleOverride = { fontSize, fontFamily: font, - - // We need to override this properties bellow that was defined in `textStyle` - // Because by default the `react-native-render-html` add a style in the elements, - // for example the tag has a fontWeight: "bold" and in the android it break the font - fontWeight: undefined, - fontStyle: undefined, }; return ( diff --git a/src/hooks/useMarkdownStyle.ts b/src/hooks/useMarkdownStyle.ts index 7b38cc12347f..8e2ad1774a78 100644 --- a/src/hooks/useMarkdownStyle.ts +++ b/src/hooks/useMarkdownStyle.ts @@ -53,7 +53,7 @@ function useMarkdownStyle(message: string | null = null, excludeStyles: Array ...(codeStyles.codeTextStyle as MixedStyleDeclaration), paddingLeft: 5, paddingRight: 5, - ...FontUtils.fontFamily.platform.MONOSPACE, + fontFamily: FontUtils.fontFamily.platform.MONOSPACE.fontFamily, // Font size is determined by getCodeFontSize function in `StyleUtils.js` }, diff --git a/src/styles/utils/FontUtils/fontFamily/multiFontFamily/index.ts b/src/styles/utils/FontUtils/fontFamily/multiFontFamily/index.ts index 7104f905e72f..38a22e39b9df 100644 --- a/src/styles/utils/FontUtils/fontFamily/multiFontFamily/index.ts +++ b/src/styles/utils/FontUtils/fontFamily/multiFontFamily/index.ts @@ -24,6 +24,16 @@ const fontFamily: FontFamilyStyles = { fontStyle: 'normal', fontWeight: fontWeight.bold, }, + MONOSPACE_ITALIC: { + fontFamily: 'Expensify Mono, Segoe UI Emoji, Noto Color Emoji', + fontStyle: 'italic', + fontWeight: fontWeight.normal, + }, + MONOSPACE_BOLD_ITALIC: { + fontFamily: 'Expensify Mono, Segoe UI Emoji, Noto Color Emoji', + fontStyle: 'italic', + fontWeight: fontWeight.bold, + }, EXP_NEUE: { fontFamily: 'Expensify Neue, Segoe UI Emoji, Noto Color Emoji', diff --git a/src/styles/utils/FontUtils/fontFamily/singleFontFamily/index.ts b/src/styles/utils/FontUtils/fontFamily/singleFontFamily/index.ts index 6415835264ac..496d1a32648f 100644 --- a/src/styles/utils/FontUtils/fontFamily/singleFontFamily/index.ts +++ b/src/styles/utils/FontUtils/fontFamily/singleFontFamily/index.ts @@ -20,6 +20,16 @@ const fontFamily: FontFamilyStyles = { fontStyle: 'normal', fontWeight: fontWeight.bold, }, + MONOSPACE_ITALIC: { + fontFamily: 'Expensify Mono', + fontStyle: 'italic', + fontWeight: fontWeight.normal, + }, + MONOSPACE_BOLD_ITALIC: { + fontFamily: 'Expensify Mono', + fontStyle: 'italic', + fontWeight: fontWeight.bold, + }, EXP_NEUE: { fontFamily: 'Expensify Neue', diff --git a/src/styles/utils/FontUtils/fontFamily/types.ts b/src/styles/utils/FontUtils/fontFamily/types.ts index 75275c28ea9e..b3fcf2964804 100644 --- a/src/styles/utils/FontUtils/fontFamily/types.ts +++ b/src/styles/utils/FontUtils/fontFamily/types.ts @@ -4,6 +4,8 @@ type FontFamilyKey = | 'SYSTEM' | 'MONOSPACE' | 'MONOSPACE_BOLD' + | 'MONOSPACE_ITALIC' + | 'MONOSPACE_BOLD_ITALIC' | 'EXP_NEUE' | 'EXP_NEUE_BOLD' | 'EXP_NEUE_ITALIC'