+namespace bv_funcs {
+
+/** Set \param data using \param font and \param toggle.
+ * If successful, returns true.
+ */
+bool font2string(LyXFont const & font, bool toggle, string & data);
+/** Set \param font and \param toggle using \param data.
+ * If successful, returns true.
+ */
+bool string2font(string const & data, LyXFont & font, bool & toggle);
+/** Returns the current freefont, encoded as a string to be passed to the
+ * frontends.
+ */
+string const freefont2string();
+/** Set the freefont using the contents of \param data dispatched from
+ * the frontends and apply it at the current cursor location.
+ */
+void update_and_apply_freefont(BufferView * bv, string const & data);
+/** Apply the contents of freefont at the current cursor location.
+ */
+void apply_freefont(BufferView * bv);
+
+/// what type of depth change to make
+enum DEPTH_CHANGE {
+ INC_DEPTH,
+ DEC_DEPTH
+};
+
+/**
+ * Increase or decrease the nesting depth of the selected paragraph(s)
+ * if test_only, don't change any depths. Returns whether something
+ * (would have) changed
+ */
+extern bool changeDepth(BufferView *, LyXText *, DEPTH_CHANGE, bool test_only);
+