| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef __com_sun_star_linguistic2_XHyphenator_idl__ |
| #define __com_sun_star_linguistic2_XHyphenator_idl__ |
| |
| |
| #ifndef __com_sun_star_lang_Localeidl__ |
| #include <com/sun/star/lang/Locale.idl> |
| #endif |
| |
| #ifndef __com_sun_star_linguistic2_XSupportedLocales_idl__ |
| #include <com/sun/star/linguistic2/XSupportedLocales.idl> |
| #endif |
| |
| #ifndef __com_sun_star_linguistic2_XDictionaryList_idl__ |
| #include <com/sun/star/linguistic2/XDictionaryList.idl> |
| #endif |
| |
| #ifndef __com_sun_star_linguistic2_XHyphenatedWord_idl__ |
| #include <com/sun/star/linguistic2/XHyphenatedWord.idl> |
| #endif |
| |
| #ifndef __com_sun_star_linguistic2_XPossibleHyphens_idl__ |
| #include <com/sun/star/linguistic2/XPossibleHyphens.idl> |
| #endif |
| |
| #ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUES_idl_ |
| #include <com/sun/star/beans/PropertyValues.idl> |
| #endif |
| |
| #ifndef __com_sun_star_lang_IllegalArgumentException_idl__ |
| #include <com/sun/star/lang/IllegalArgumentException.idl> |
| #endif |
| |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module linguistic2 { |
| |
| //============================================================================= |
| /** provides functionality for hyphenation of single words. |
| |
| <P>Its three main functionalities are to provide a suitable position for |
| breaking lines within a word, query about the existence of an alternative |
| spelling at a specific position of a word and provide a list of |
| possible hyphenation positions within a word.</P> |
| |
| <P>A hyphenation position for a word with n characters is represented |
| by a value in the range from 0 to n-2, indicating the position |
| of the character after which the hyphenation is done. That is, |
| it is after the first and before the last character.</P> |
| |
| <P>A valid hyphenation position is a hyphenation position that |
| fulfills all the restrictions implied by the properties |
| MinLeading, MinTrailing and MinWordLength.</P> |
| |
| @see <type scope="com::sun::star::linguistic2">LinguProperties</type> |
| @see <type scope="com::sun::star::linguistic2">XSupportedLocales</type> |
| */ |
| published interface XHyphenator : com::sun::star::linguistic2::XSupportedLocales |
| { |
| //------------------------------------------------------------------------- |
| /** tries to find a valid hyphenation position relative |
| to the beginning of a word. |
| |
| <P>Note: Some languages, for example arabic, are written from right |
| to left.</P> |
| |
| @returns |
| the XHyphenatedWord for the last valid hyphenation position |
| that is less than or equal to nMaxLeading - 1. |
| If there is no such valid hyphenation position, <NULL/> is returned. |
| |
| @param aWord |
| is the word to be hyphenated. |
| |
| @param aLocale |
| defines the language to be used. |
| |
| <P>If the language is not supported, an IllegalArgumentException |
| exception is raised.</P> |
| |
| @param nMaxLeading |
| specifies the maximum number of characters to remain |
| before the hyphen in the hyphenated word. |
| |
| <P>It has to be greater than or equal to 0.</P> |
| |
| @param aProperties |
| provides property values to be used for this function call only. |
| It is usually empty in order to use the default values supplied |
| with the property set. |
| |
| @see <type scope="com::sun::star::linguistic2">XHyphenatedWord</type> |
| @see <type scope="com::sun::star::lang">Locale</type> |
| */ |
| com::sun::star::linguistic2::XHyphenatedWord hyphenate( |
| [in] string aWord, |
| [in] com::sun::star::lang::Locale aLocale, |
| [in] short nMaxLeading, |
| [in] com::sun::star::beans::PropertyValues aProperties ) |
| raises( com::sun::star::lang::IllegalArgumentException ); |
| |
| //------------------------------------------------------------------------- |
| /** checks whether hyphenation at a position in a word will result in |
| an alternative spelling or not. |
| |
| <P>An alternative spelling position is a hyphen position where, |
| if hyphenation is done here, the writing of the word changes. |
| Example: "Bäcker" in German pre spelling-reform becomes |
| "Bäkker" if hyphenation is done after the "c".</P> |
| |
| <P>The hyphenation position does not need to be a valid one to be an |
| alternative spelling position.</P> |
| |
| @returns |
| the information about the alternative spelling found at the |
| specified position. Otherwise, if no alternative spelling was |
| found, <NULL/> is returned. |
| |
| @param aWord |
| is the original word to be looked at for having an alternative |
| spelling, if hyphenation is done at position nIndex. |
| |
| @param aLocale |
| specifies the language to be used. |
| |
| <P>If the language is not supported, an IllegalArgumentException |
| exception is raised.</P> |
| |
| @param nIndex |
| is the position in the word to be looked at. |
| |
| <P>If the length of the word is n, the value of this |
| parameter has to be in the range from 0 to n-2.</P> |
| |
| @param aProperties |
| provides property values to be used for this function call only. |
| It is usually empty in order to use the default values supplied |
| with the property set. |
| |
| @see <type scope="com::sun::star::linguistic2">XHyphenatedWord</type> |
| @see <type scope="com::sun::star::lang">Locale</type> |
| */ |
| com::sun::star::linguistic2::XHyphenatedWord queryAlternativeSpelling( |
| [in] string aWord, |
| [in] com::sun::star::lang::Locale aLocale, |
| [in] short nIndex, |
| [in] com::sun::star::beans::PropertyValues aProperties ) |
| raises( com::sun::star::lang::IllegalArgumentException ); |
| |
| //------------------------------------------------------------------------- |
| /** returns information about all possible hyphenation positions of a word. |
| |
| @returns |
| an <type scope="com::sun::star::linguistic2">XPossibleHyphens</type> |
| for the given word and language if there are any hyphenation |
| positions. <NULL/> otherwise. |
| |
| @param aWord |
| is the word for which information about the possible |
| hyphenation positions is to be retrieved. |
| |
| @param aLocale |
| defines the language of the word. |
| |
| <P>If the language is not supported, an IllegalArgumentException |
| exception is raised.</P> |
| |
| @param aProperties |
| provides property values to be used for this function call only. |
| It is usually empty in order to use the default values supplied |
| with the property set. |
| |
| @see <type scope="com::sun::star::linguistic2">XPossibleHyphens</type> |
| @see <type scope="com::sun::star::lang">Locale</type> |
| */ |
| com::sun::star::linguistic2::XPossibleHyphens createPossibleHyphens( |
| [in] string aWord, |
| [in] com::sun::star::lang::Locale aLocale, |
| [in] com::sun::star::beans::PropertyValues aProperties ) |
| raises( com::sun::star::lang::IllegalArgumentException ); |
| |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| #endif |
| |