Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
265 changes: 265 additions & 0 deletions README.bn-BD.md

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
<a href="README.th.md">ไทย</a> ·
<a href="README.tr.md">Türkçe</a> ·
<a href="README.id.md">Bahasa Indonesia</a> ·
<a href="README.it.md">Italiano</a>
<a href="README.it.md">Italiano</a> ·
<a href="README.bn-BD.md">বাংলা</a>
</p>

<table>
Expand Down
2 changes: 1 addition & 1 deletion THIRD-PARTY-NOTICES.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ app as its payload. Filee 1.x's installer was built with Inno Setup, which is no

| Component | License | Project |
|---|---|---|
| Noto Sans, Noto Sans Arabic, Noto Sans JP, Noto Sans KR, Noto Sans SC, Noto Sans Devanagari, Noto Sans Thai | SIL Open Font License 1.1 | https://github.com/notofonts |
| Noto Sans, Noto Sans Arabic, Noto Sans JP, Noto Sans KR, Noto Sans SC, Noto Sans Devanagari, Noto Sans Thai, Noto Sans Bengali | SIL Open Font License 1.1 | https://github.com/notofonts |
| Test fonts in `tests/Filee.Engines.Tests/Fonts` (subsets of Noto Sans and Noto Sans KR; not shipped) | SIL Open Font License 1.1 | see `OFL.txt` in that folder |
| Material Design Icons (Pictogrammers) | Apache-2.0 | https://pictogrammers.com |
| Simple Icons 16.35.0 (GitHub Sponsors, Patreon, Ko-fi and PayPal logos in the Sponsor window) | CC0-1.0 | https://simpleicons.org |
Expand Down
4 changes: 4 additions & 0 deletions build/fetch-fonts.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ $ErrorActionPreference = 'Stop'
$noto = 'https://raw.githubusercontent.com/notofonts/notofonts.github.io/28b15b4b43b7bed62b5cf6e6b0b5ff5846270535/fonts'
$latin = "$noto/NotoSans/hinted/ttf"
$devanagari = "$noto/NotoSansDevanagari/hinted/ttf"
$bengali = "$noto/NotoSansBengali/hinted/ttf"
$arabic = "$noto/NotoSansArabic/hinted/ttf"
$thai = "$noto/NotoSansThai/hinted/ttf"
$cjk = 'https://raw.githubusercontent.com/notofonts/noto-cjk/Sans2.004/Sans/SubsetOTF'
Expand All @@ -36,6 +37,9 @@ $fonts = [ordered]@{
'NotoSansDevanagari-Regular.ttf' = @("$devanagari/NotoSansDevanagari-Regular.ttf", '306B53ECFB182A504DD8A7446093C316387D2FD8DC350D0792ED1753FE0996CD')
'NotoSansDevanagari-Medium.ttf' = @("$devanagari/NotoSansDevanagari-Medium.ttf", '4F46CF50B7992E61C7CEE7C4A8284450CCEED8B540B8ADBC8DF637C982C65757')
'NotoSansDevanagari-Bold.ttf' = @("$devanagari/NotoSansDevanagari-Bold.ttf", '3AD8362A06271814869838DCC3D161B13C9FB97681B627AF1F7F283EA9387D56')
'NotoSansBengali-Regular.ttf' = @("$bengali/NotoSansBengali-Regular.ttf", '9F8B4DD091F19B111D24EA18DAAE81BEA8684CC67DE17EA1ACD797E144BF20BA')
'NotoSansBengali-Medium.ttf' = @("$bengali/NotoSansBengali-Medium.ttf", '4140BD8ED66C2130D9341E2D92B32B3450D72BBB3A2BCECF735EC7C6BD2A449B')
'NotoSansBengali-Bold.ttf' = @("$bengali/NotoSansBengali-Bold.ttf", '90E7A495C4F8A3690D02074DCEEC4204571098F6FF3486BEE64316F2398F2BA1')
'NotoSansThai-Regular.ttf' = @("$thai/NotoSansThai-Regular.ttf", '61CF814EEC46B294D6EA4401AC295D0CECD5207BD2331DCC5A15E7301D30EE44')
'NotoSansThai-Medium.ttf' = @("$thai/NotoSansThai-Medium.ttf", '11BC8F6CF3523241995F07225FCC7D8E25EB55064FBFA39281A5E44DCD59F5F5')
'NotoSansThai-Bold.ttf' = @("$thai/NotoSansThai-Bold.ttf", '2AC6C6E8A478E23B15F76E4894AF1FA2210F8F350E4E6E54AAD530BEC03EFBFB')
Expand Down
1,495 changes: 1,495 additions & 0 deletions src/Filee.App/Assets/i18n/bn-BD.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions src/Filee.App/Services/AppLanguages.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ internal static class AppLanguages
("it", "Italiano"),
("id", "Bahasa Indonesia"),
("vi", "Tiếng Việt"),
("bn-BD", "বাংলা (বাংলাদেশ)"),
];

/// <summary>Shared Portuguese region policy for the app and Setup, including legacy Inno language codes.</summary>
Expand Down
3 changes: 2 additions & 1 deletion src/Filee.App/Services/SoftPalette.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ internal static class SoftPalette
private const string Latin = "fonts:Filee#Noto Sans";
private const string Arabic = "fonts:Filee#Noto Sans Arabic";
private const string Devanagari = "fonts:Filee#Noto Sans Devanagari";
private const string Bengali = "fonts:Filee#Noto Sans Bengali";
private const string Thai = "fonts:Filee#Noto Sans Thai";

/// <summary>Each CJK region's embedded font and its system fonts (Windows, then macOS).</summary>
Expand Down Expand Up @@ -127,7 +128,7 @@ public static string FontFamilies(string language)
: [Korean, Chinese, Japanese];
var traditional = AppLanguages.IsTraditionalChinese(language) ? $"{TraditionalChineseSystem}, " : "";
// Noto Sans comes first: the first face also draws the trimming ellipsis, which Noto Sans Arabic lacks.
return $"{Latin}, {Arabic}, {Devanagari}, {Thai}, {traditional}{string.Join(", ", cjk.Select(f => f.Embedded))}, Segoe UI, Nirmala UI, Leelawadee UI, "
return $"{Latin}, {Arabic}, {Devanagari}, {Bengali}, {Thai}, {traditional}{string.Join(", ", cjk.Select(f => f.Embedded))}, Segoe UI, Nirmala UI, Leelawadee UI, "
+ $"{string.Join(", ", cjk.Select(f => f.System))}, Kohinoor Devanagari, Geeza Pro, Thonburi, sans-serif";
}

Expand Down
2 changes: 1 addition & 1 deletion src/Filee.Setup/SetupOptions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
// /NOCLOSEAPPLICATIONS don't force-close programs that still run from the install folder after "Filee --quit"
// /DIR="folder" install folder (environment variables are expanded)
// /LANG=ko language of Setup (and of a newly installed Filee): en, es, ja, ko, zh-CN (Inno: zhcn),
// zh-TW, pl, hi, ru, ar, pt-PT, pt-BR, fr, ne, th, tr, de, it, id, vi
// zh-TW, pl, hi, ru, ar, pt-PT, pt-BR, fr, ne, th, tr, de, it, id, vi, bn-BD
// /TASKS="a,b" exactly these options; /MERGETASKS="a,!b" changes the defaults. "!" unticks, "*" ticks
// the children too. Names: contextmenu, contextmenu\top, startup, cli, desktopicon
// /NOICONS no Start menu and desktop shortcuts
Expand Down
6 changes: 6 additions & 0 deletions tests/Filee.App.Tests/LocalizationTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,12 @@ public void Arabic_is_offered_under_its_own_name_and_reads_right_to_left()
Assert.All(LocalizationService.Languages.Where(l => l.Code != "ar"), l => Assert.False(SoftPalette.IsRightToLeft(l.Code)));
}

[Fact]
public void Bengali_uses_the_embedded_font()
{
Assert.Contains("fonts:Filee#Noto Sans Bengali", ThemeService.FontFamilies("bn-BD"));
}

[Theory]
[MemberData(nameof(Languages))]
public void Catalogs_have_no_duplicate_keys_or_empty_translations(string code)
Expand Down
2 changes: 2 additions & 0 deletions tests/Filee.Setup.Tests/SetupTextsTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,8 @@ public void Setup_offers_every_language_filee_has()
[InlineData("pt_BR", "en-US", "pt-BR")]
[InlineData("ptbr", "en-US", "pt-BR")]
[InlineData("ptpt", "en-US", "pt-PT")]
[InlineData(null, "bn-BD", "bn-BD")]
[InlineData(null, "bn", "bn-BD")]
public void Languages_resolve_like_the_app_and_like_inno_setup(string? setting, string windows, string expected) =>
Assert.Equal(expected, SetupTexts.Resolve(setting, () => windows));

Expand Down