mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 02:08:00 +00:00
Add preferences for card text rendering
This commit is contained in:
@@ -155,6 +155,8 @@ public enum CSubmenuPreferences implements ICDoc {
|
||||
|
||||
lstControls.add(Pair.of(view.getCbCompactPrompt(), FPref.UI_COMPACT_PROMPT));
|
||||
lstControls.add(Pair.of(view.getCbHideReminderText(), FPref.UI_HIDE_REMINDER_TEXT));
|
||||
lstControls.add(Pair.of(view.getCbCardTextUseSansSerif(), FPref.UI_CARD_IMAGE_RENDER_USE_SANS_SERIF_FONT));
|
||||
lstControls.add(Pair.of(view.getCbCardTextHideReminder(), FPref.UI_CARD_IMAGE_RENDER_HIDE_REMINDER_TEXT));
|
||||
lstControls.add(Pair.of(view.getCbOpenPacksIndiv(), FPref.UI_OPEN_PACKS_INDIV));
|
||||
lstControls.add(Pair.of(view.getCbTokensInSeparateRow(), FPref.UI_TOKENS_IN_SEPARATE_ROW));
|
||||
lstControls.add(Pair.of(view.getCbStackCreatures(), FPref.UI_STACK_CREATURES));
|
||||
|
||||
@@ -115,6 +115,8 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
|
||||
private final JCheckBox cbEscapeEndsTurn = new OptionsCheckBox(localizer.getMessage("cbEscapeEndsTurn"));
|
||||
private final JCheckBox cbPreselectPrevAbOrder = new OptionsCheckBox(localizer.getMessage("cbPreselectPrevAbOrder"));
|
||||
private final JCheckBox cbHideReminderText = new OptionsCheckBox(localizer.getMessage("cbHideReminderText"));
|
||||
private final JCheckBox cbCardTextUseSansSerif = new OptionsCheckBox(localizer.getMessage("lblCardTextUseSansSerif"));
|
||||
private final JCheckBox cbCardTextHideReminder = new OptionsCheckBox(localizer.getMessage("lblCardTextHideReminder"));
|
||||
private final JCheckBox cbOpenPacksIndiv = new OptionsCheckBox(localizer.getMessage("cbOpenPacksIndiv"));
|
||||
private final JCheckBox cbTokensInSeparateRow = new OptionsCheckBox(localizer.getMessage("cbTokensInSeparateRow"));
|
||||
private final JCheckBox cbStackCreatures = new OptionsCheckBox(localizer.getMessage("cbStackCreatures"));
|
||||
@@ -368,6 +370,12 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
|
||||
pnlPrefs.add(cbHideReminderText, titleConstraints);
|
||||
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlHideReminderText")), descriptionConstraints);
|
||||
|
||||
pnlPrefs.add(cbCardTextUseSansSerif, titleConstraints);
|
||||
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlCardTextUseSansSerif")), descriptionConstraints);
|
||||
|
||||
pnlPrefs.add(cbCardTextHideReminder, titleConstraints);
|
||||
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlCardTextHideReminder")), descriptionConstraints);
|
||||
|
||||
pnlPrefs.add(cbOpenPacksIndiv, titleConstraints);
|
||||
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlOpenPacksIndiv")), descriptionConstraints);
|
||||
|
||||
@@ -847,6 +855,14 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
|
||||
return cbHideReminderText;
|
||||
}
|
||||
|
||||
public JCheckBox getCbCardTextUseSansSerif() {
|
||||
return cbCardTextUseSansSerif;
|
||||
}
|
||||
|
||||
public final JCheckBox getCbCardTextHideReminder() {
|
||||
return cbCardTextHideReminder;
|
||||
}
|
||||
|
||||
public final JCheckBox getCbOpenPacksIndiv() {
|
||||
return cbOpenPacksIndiv;
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@ public class FCardImageRenderer {
|
||||
private static BreakIterator boundary;
|
||||
private static Pattern linebreakPattern;
|
||||
private static Pattern reminderPattern;
|
||||
private static Pattern reminderHidePattern;
|
||||
private static Pattern symbolPattern;
|
||||
private static Map<Font, Font[]> shrinkFonts;
|
||||
|
||||
@@ -60,6 +61,7 @@ public class FCardImageRenderer {
|
||||
boundary = BreakIterator.getLineInstance(locale);
|
||||
linebreakPattern = Pattern.compile("(\r\n\r\n)|(\n)");
|
||||
reminderPattern = Pattern.compile("\\((.+?)\\)");
|
||||
reminderHidePattern = Pattern.compile(" \\((.+?)\\)");
|
||||
symbolPattern = Pattern.compile("\\{([A-Z0-9]+)\\}|\\{([A-Z0-9]+)/([A-Z0-9]+)\\}");
|
||||
|
||||
NAME_FONT = new Font(Font.SERIF, Font.BOLD, 26);
|
||||
@@ -68,8 +70,13 @@ public class FCardImageRenderer {
|
||||
TEXT_FONT = new Font(Font.SANS_SERIF, Font.PLAIN, 24);
|
||||
REMINDER_FONT = new Font(Font.SANS_SERIF, Font.PLAIN, 22);
|
||||
} else {
|
||||
TEXT_FONT = new Font(Font.SERIF, Font.PLAIN, 24);
|
||||
REMINDER_FONT = new Font(Font.SERIF, Font.ITALIC, 24);
|
||||
if (FModel.getPreferences().getPrefBoolean(FPref.UI_CARD_IMAGE_RENDER_USE_SANS_SERIF_FONT)) {
|
||||
TEXT_FONT = new Font(Font.SANS_SERIF, Font.PLAIN, 24);
|
||||
REMINDER_FONT = new Font(Font.SANS_SERIF, Font.ITALIC, 24);
|
||||
} else {
|
||||
TEXT_FONT = new Font(Font.SERIF, Font.PLAIN, 24);
|
||||
REMINDER_FONT = new Font(Font.SERIF, Font.ITALIC, 24);
|
||||
}
|
||||
}
|
||||
PT_FONT = NAME_FONT;
|
||||
|
||||
@@ -966,10 +973,12 @@ public class FCardImageRenderer {
|
||||
}
|
||||
}
|
||||
|
||||
private static void drawTextBoxText(Graphics2D g, final String text, int x, int y, int w, int h, int flagPTBox) {
|
||||
private static void drawTextBoxText(Graphics2D g, String text, int x, int y, int w, int h, int flagPTBox) {
|
||||
boolean hasPTBox = (flagPTBox & 1) == 1;
|
||||
boolean isLevelup = (flagPTBox & 2) == 2;
|
||||
boolean isLevelBox = (flagPTBox & 4) == 4;
|
||||
if (FModel.getPreferences().getPrefBoolean(FPref.UI_CARD_IMAGE_RENDER_HIDE_REMINDER_TEXT))
|
||||
text = reminderHidePattern.matcher(text).replaceAll("");
|
||||
String [] paragraphs = isLevelBox ? text.split(" ") : linebreakPattern.split(text);
|
||||
List<Paragraph> pgList = new ArrayList<>();
|
||||
for (String pg : paragraphs) {
|
||||
|
||||
@@ -1039,6 +1039,10 @@ lblEnableCustomCards=Erlaube benutzerdefinierte Karten
|
||||
nlEnableCustomCards=Aktivieren Sie die Verwendung von benutzerdefinierten Karten für das Spielen. (Erfordert Neustart)
|
||||
lblDisableCardImages=Kartenbilder abschalten
|
||||
nlDisableCardImages=Wenn aktiviert, zeigt Forge keine Kartenbilder mehr.
|
||||
lblCardTextUseSansSerif=Use Sans-serif Font for Card Text Renderer
|
||||
nlCardTextUseSansSerif=Render card images by using Sans-serif font for card text. (Requires restart)
|
||||
lblCardTextHideReminder=Hide Reminder Text for Card Text Renderer
|
||||
nlCardTextHideReminder=When render card images, skip rendering reminder text.
|
||||
lblExperimentalNetworkCompatibility=Experimentelle Netzwerkkompatibilität
|
||||
nlExperimentalNetworkCompatibility=Forge wechselt auf kompatiblen Netzwerk-Stream. (Im Zweifel bitte ausschalten)
|
||||
lblDisposeTextures=Texturen anordnen
|
||||
|
||||
@@ -1039,6 +1039,10 @@ lblEnableCustomCards=Enable Custom Cards
|
||||
nlEnableCustomCards=Enable Custom Cards to be used in decks for Game play. (Requires restart)
|
||||
lblDisableCardImages=Disable Card Images
|
||||
nlDisableCardImages=When enabled, Forge will not display card images.
|
||||
lblCardTextUseSansSerif=Use Sans-serif Font for Card Text Renderer
|
||||
nlCardTextUseSansSerif=Render card images by using Sans-serif font for card text. (Requires restart)
|
||||
lblCardTextHideReminder=Hide Reminder Text for Card Text Renderer
|
||||
nlCardTextHideReminder=When render card images, skip rendering reminder text.
|
||||
lblExperimentalNetworkCompatibility=Experimental Network Compatibility
|
||||
nlExperimentalNetworkCompatibility=Forge switches to compatible network stream. (If unsure, turn OFF this option)
|
||||
lblDisposeTextures=Dispose Textures
|
||||
|
||||
@@ -1038,6 +1038,10 @@ lblEnableCustomCards=Habilitar cartas personalizadas
|
||||
nlEnableCustomCards=Habilita el uso de cartas personalizadas en mazos para jugar. (Requiere reinicio)
|
||||
lblDisableCardImages=Desactivar imágenes de cartas
|
||||
nlDisableCardImages=Cuando está habilitado, Forge no mostrará imágenes de tarjetas.
|
||||
lblCardTextUseSansSerif=Use Sans-serif Font for Card Text Renderer
|
||||
nlCardTextUseSansSerif=Render card images by using Sans-serif font for card text. (Requires restart)
|
||||
lblCardTextHideReminder=Hide Reminder Text for Card Text Renderer
|
||||
nlCardTextHideReminder=When render card images, skip rendering reminder text.
|
||||
lblExperimentalNetworkCompatibility=Compatibilidad de red experimental
|
||||
nlExperimentalNetworkCompatibility=Forge cambia a un flujo de red compatible. (Si no estás seguro, deshabilita esta opción)
|
||||
lblDisposeTextures=Desechar texturas
|
||||
|
||||
@@ -1038,6 +1038,10 @@ lblEnableCustomCards=Abilita carte personalizzate
|
||||
nlEnableCustomCards=Abilita le partite con mazzi che contengono carte personalizzate. (richiede riavvio)
|
||||
lblDisableCardImages=Disabilita le immagini delle carte
|
||||
nlDisableCardImages=Se abilitato, Forge non mostrerà alcuna immagine per le carte.
|
||||
lblCardTextUseSansSerif=Use Sans-serif Font for Card Text Renderer
|
||||
nlCardTextUseSansSerif=Render card images by using Sans-serif font for card text. (Requires restart)
|
||||
lblCardTextHideReminder=Hide Reminder Text for Card Text Renderer
|
||||
nlCardTextHideReminder=When render card images, skip rendering reminder text.
|
||||
lblExperimentalNetworkCompatibility=Compatibilità di rete sperimentale
|
||||
nlExperimentalNetworkCompatibility=Forge passa a un flusso di rete compatibile. (Nel dubbio, DISABILITARE questa opzione)
|
||||
lblDisposeTextures=Rimuovi Texture
|
||||
|
||||
@@ -1039,6 +1039,10 @@ lblEnableCustomCards=カスタムカードを有効にする
|
||||
nlEnableCustomCards=カスタムカードをゲームプレイのデッキで使用できるようにします。(再起動必須)
|
||||
lblDisableCardImages=カード画像を無効にする
|
||||
nlDisableCardImages=これを有効にすると、Forgeはカード画像を描画しません。
|
||||
lblCardTextUseSansSerif=カードの文章欄にゴシック体を使います
|
||||
nlCardTextUseSansSerif=カードを描画する時、文章欄の文字はゴシック体で描画します。(非アジア言語だけに影響します、再起動必須)
|
||||
lblCardTextHideReminder=カードの文章欄のリマインダーテキストを非表示
|
||||
nlCardTextHideReminder=カードを描画する時、文章欄のリマインダーテキストを非表示にします。
|
||||
lblExperimentalNetworkCompatibility=実験的なネットワークコンパチビリティ
|
||||
nlExperimentalNetworkCompatibility=Forge がコンパチブルネットワークストリーミに切り替えます。 (分からない場合はオフにしてください)
|
||||
lblDisposeTextures=テキスチャー廃棄
|
||||
|
||||
@@ -1039,6 +1039,10 @@ lblEnableCustomCards=启用自定义卡
|
||||
nlEnableCustomCards=启用自定义卡以用于游戏的甲板。 (需要重启)
|
||||
lblDisableCardImages=禁用卡图
|
||||
nlDisableCardImages=如果启用,forge将不会显示卡图。
|
||||
lblCardTextUseSansSerif=Use Sans-serif Font for Card Text Renderer
|
||||
nlCardTextUseSansSerif=Render card images by using Sans-serif font for card text. (Requires restart, only has effects on non-Asian languages)
|
||||
lblCardTextHideReminder=Hide Reminder Text for Card Text Renderer
|
||||
nlCardTextHideReminder=When render card images, skip rendering reminder text.
|
||||
lblExperimentalNetworkCompatibility=实验性网络兼容
|
||||
nlExperimentalNetworkCompatibility=Forge将切换为兼容性的网络流。(如果不清楚此选项的作用,请关闭此选项)
|
||||
lblDisposeTextures=释放纹理
|
||||
|
||||
@@ -86,6 +86,8 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
|
||||
UI_IMAGE_CACHE_MAXIMUM("400"),
|
||||
UI_OVERLAY_FOIL_EFFECT ("true"),
|
||||
UI_HIDE_REMINDER_TEXT ("false"),
|
||||
UI_CARD_IMAGE_RENDER_USE_SANS_SERIF_FONT ("true"),
|
||||
UI_CARD_IMAGE_RENDER_HIDE_REMINDER_TEXT ("true"),
|
||||
UI_SR_OPTIMIZE ("false"),
|
||||
UI_OPEN_PACKS_INDIV ("false"),
|
||||
UI_STACK_CREATURES ("false"),
|
||||
|
||||
Reference in New Issue
Block a user