Я пытаюсь получить информацию о шрифтах из Clipboard с использованием MAC .Below код для получения значения из буфера обмена .Java - Как кодируется MAC декодирует информацию о шрифте
КОД
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable contents = clipboard.getContents(null);
DataFlavor dfRTF = new DataFlavor("text/rtf", "Rich Formatted Text");
DataFlavor dfTxt = DataFlavor.stringFlavor;
boolean hasTransferableRTFText = (contents != null)
&& contents.isDataFlavorSupported(dfRTF);
boolean hasTransferableTxtText = (contents != null)
&& contents.isDataFlavorSupported(dfTxt);
if (hasTransferableRTFText) {
try {
result = streamToString((InputStream)contents.getTransferData(dfRTF));
System.out.println("dfRTF "+result);
} catch (Exception ex) {
ex.printStackTrace();
}
} else if (hasTransferableTxtText) {
try {
result = (String)contents.getTransferData(dfTxt);
System.out.println("dfTxt "+result);
} catch (Exception ex) {
ex.printStackTrace();
}
}
и код возвращается MAC декодированного значения, как показано ниже:
dfRTF {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\f0\b\fs24 \cf0 Hello WORLD}
{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\f0\b\fs24 \cf0 Hello WORLD}
Я знаю, что \f0\b\fs24 \cf0 Hello WORLD}
содержит информацию о шрифте, где \b
означает ИТС BOLD
.
Как его закодировать, чтобы получить это конкретное значение, например, я хочу знать, BOLDED или NO. Прошу совета.
любая идея, как мы можем закодировать «Document doc = Jsoup.parse (result);». Как я получу полужирный для всего элемента вместо первого жирного текста? –