/************************************************************** * * 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 #endif #ifndef __com_sun_star_linguistic2_XSupportedLocales_idl__ #include #endif #ifndef __com_sun_star_linguistic2_XDictionaryList_idl__ #include #endif #ifndef __com_sun_star_linguistic2_XHyphenatedWord_idl__ #include #endif #ifndef __com_sun_star_linguistic2_XPossibleHyphens_idl__ #include #endif #ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUES_idl_ #include #endif #ifndef __com_sun_star_lang_IllegalArgumentException_idl__ #include #endif //============================================================================= module com { module sun { module star { module linguistic2 { //============================================================================= /** provides functionality for hyphenation of single words.

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.

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.

A valid hyphenation position is a hyphenation position that fulfills all the restrictions implied by the properties MinLeading, MinTrailing and MinWordLength.

@see LinguProperties @see XSupportedLocales */ published interface XHyphenator : com::sun::star::linguistic2::XSupportedLocales { //------------------------------------------------------------------------- /** tries to find a valid hyphenation position relative to the beginning of a word.

Note: Some languages, for example arabic, are written from right to left.

@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, is returned. @param aWord is the word to be hyphenated. @param aLocale defines the language to be used.

If the language is not supported, an IllegalArgumentException exception is raised.

@param nMaxLeading specifies the maximum number of characters to remain before the hyphen in the hyphenated word.

It has to be greater than or equal to 0.

@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 XHyphenatedWord @see Locale */ 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.

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".

The hyphenation position does not need to be a valid one to be an alternative spelling position.

@returns the information about the alternative spelling found at the specified position. Otherwise, if no alternative spelling was found, 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.

If the language is not supported, an IllegalArgumentException exception is raised.

@param nIndex is the position in the word to be looked at.

If the length of the word is n, the value of this parameter has to be in the range from 0 to n-2.

@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 XHyphenatedWord @see Locale */ 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 XPossibleHyphens for the given word and language if there are any hyphenation positions. 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.

If the language is not supported, an IllegalArgumentException exception is raised.

@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 XPossibleHyphens @see Locale */ 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