I am trying to get font information from the Clipboard using MAC .Below is the code to get the value from the Clipboard .
CODE
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(); } }
and the code returns the MAC decoded value, as shown below:
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}
I know that \f0\b\fs24 \cf0 Hello WORLD} contains font information, where \b means its BOLD .
How to encode it to get this specific value, as an example I want to know if it is BOLDED or NO. . Tip.
source share