Among write off the grid input method the Mac version of the process，I encountered such a problem，Article candidate system API disrepair，Many API functions exists but is essentially useless，such as：
@abstract Sets the "style" attributes for the candidates window. The keys for the attributes dictionary and the values are:
NSFontAttributeName (value = NSFont) Setting the font attribute sets the font that is used to draw Candidates. It does not effect the selection keys which are always drawn in the same font. Note that to set the font size you should use this key/value pair.
IMKCandidatesOpacityAttributeName (value = NSNumber with a float value between 0 and 1). Sets the opacity level to transparent (0.0) to completely opaque (1.0). The default opacity is 1.0. This constant is declared above.
NSForegroundColorAttributeName (value = NSColor) Sets the text color used for the candidate text. By default it is black.
NSBackgroundColorDocumentAttribute (value = NSColor). Set the background color that is drawn behind the candidate text.
IMKCandidatesSendServerKeyEventFirst (value = NSNumber). NO (default) gives the candidate window first chance at key events. YES causes events to first be routed to the current IMKInputController. In that case, if the event is not handled, it will then be sent to the candidate window.
open func setAttributes(_ attributes: [AnyHashable : Any]!)
This method is used to set the style of a candidate bar，In addition to the default inside[crayon-63d3ba72ea4ba6350[……]