.\" Copyright (c) 2009, Oracle and/or its affiliates. .\" .\" Permission is hereby granted, free of charge, to any person obtaining a .\" copy of this software and associated documentation files (the "Software"), .\" to deal in the Software without restriction, including without limitation .\" the rights to use, copy, modify, merge, publish, distribute, sublicense, .\" and/or sell copies of the Software, and to permit persons to whom the .\" Software is furnished to do so, subject to the following conditions: .\" .\" The above copyright notice and this permission notice (including the next .\" paragraph) shall be included in all copies or substantial portions of the .\" Software. .\" .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR .\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, .\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL .\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER .\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING .\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER .\" DEALINGS IN THE SOFTWARE. .\" .\" shorthand for double quote that works everywhere. .ds q \N'34' .ds xL Xlib \- C Language X Interface .TH Compose 5 "libX11 1.8.13" "X Version 11" .SH "نام (NAME)" Compose \- جدول‌های توالی کلیدهای ترکیبی X .SH "توضیحات (DESCRIPTION)" کتابخانهٔ X، با نام libX11، یک روش ورودی ساده برای نویسه‌هایی فراتر از آنچه در صفحه‌کلیدهای معمول وجود دارد، از طریق توالی‌هایی از فشردن کلیدها که برای درج یک نویسهٔ منفرد ترکیب می‌شوند، فراهم می‌کند. .PP پروندهٔ Compose به ترتیب زیر جستجو می‌شود: .IP \- اگر متغیر محیطی .B $XCOMPOSEFILE تنظیم شده باشد، مقدار آن به عنوان نام پروندهٔ Compose استفاده می‌شود. .IP \- اگر دایرکتوری خانگی کاربر دارای پرونده‌ای به نام .IR .XCompose باشد، به عنوان پروندهٔ Compose استفاده می‌شود. .IP \- پروندهٔ Compose ارائه‌شده توسط سیستم با نگاشت محلی (locale) به پروندهٔ Compose از فهرست موجود در .IR /usr/share/X11/locale/compose.dir استفاده می‌شود. .PP پرونده‌های Compose می‌توانند از دستورالعمل .RB \*q include \*q استفاده کنند. این امر امکان اعمال تغییرات محلی روی پرونده‌های Compose موجود را بدون نیاز به درج مستقیم تمام محتوای آن‌ها فراهم می‌کند. برای نمونه، پروندهٔ Compose مربوط به iso8859-1 سیستم می‌تواند با خطی مانند این گنجانده شود: .RS 4 .BI "include \*q" %S/iso8859-1/Compose \*q .RE .PP چندین جایگزینی وجود دارد که می‌توان در نام پرونده برای دستورالعمل include انجام داد: .TP 4 .I %H به دایرکتوری خانگی کاربر (متغیر محیطی .BR $HOME ) گسترش می‌یابد. .TP 4 .I %L به نام پروندهٔ Compose مختص محلی (locale) جاری (یعنی .RI \*q /usr/share/X11/locale//Compose \*q) گسترش می‌یابد. .TP 4 .I %S به نام دایرکتوری سیستمی برای پرونده‌های Compose (یعنی .RI \*q /usr/share/X11/locale \*q) گسترش می‌یابد. .PP برای نمونه، می‌توانید با استفاده از عبارت زیر، پروندهٔ پیش‌فرض Compose را در پروندهٔ خود بگنجانید: .RS .B "include \*q%L\*q" .RE و سپس فقط قواعد اندکی را که نیاز به تغییر دارند بازنویسی کنید. قواعد Compose جدید می‌توانند اضافه شوند و قواعد پیشین جایگزین گردند. .SH "قالب پرونده (FILE FORMAT)" .\" Based on grammar description in modules/im/ximcp/imLcPrs.c پرونده‌های Compose پرونده‌های متنی ساده هستند که هر توالی ترکیب در یک سطر مجزا قرار دارد. توضیحات با نویسهٔ \fB#\fP آغاز می‌شوند. هر توالی Compose یک یا چند رویداد و یک توالی ورودی حاصل را مشخص می‌کند، همراه با یک توضیح اختیاری در پایان سطر: .RS \fIEVENT\fP [\fIEVENT\fP...] \fB:\fP \fIRESULT\fP [\fB#\fP \fICOMMENT\fP] .RE .PP هر رویداد از یک keysym ورودی مشخص و وضعیت‌های اختیاری کلیدهای تغییردهنده (modifier) تشکیل می‌شود: .RS [([\fB!\fP] ([\fB~\fP] \fIMODIFIER\fP)...) | \fBNone\fP] \fB<\fP\fIkeysym\fP\fB>\fP .RE .PP اگر فهرست کلیدهای تغییردهنده با .RB \*q "!" \*q شروع شود، باید تطابق دقیق وجود داشته باشد. MODIFIER می‌تواند یکی از موارد Ctrl، Lock، Caps، Shift، Alt یا Meta باشد. هر تغییردهنده می‌تواند با یک نویسهٔ .RB \*q "~" \*q آغاز شود تا نشان دهد که آن تغییردهنده نباید وجود داشته باشد. اگر .RB \*q "None" \*q مشخص شده باشد، هیچ کلید تغییردهنده‌ای نباید وجود داشته باشد. .PP نتیجه (result) یک رشته، keysym یا هر دو را مشخص می‌کند که کلاینت X هنگام ورود توالی رویدادها، به عنوان ورودی دریافت می‌کند: .RS \fB\*q\fP\fISTRING\fP\fB\*q\fP | \fIkeysym\fP | \fB\*q\fP\fISTRING\fP\fB\*q\fP \fIkeysym\fP .RE .PP شناسه‌های Keysym بدون پیشوند \fBXK_\fP مشخص می‌شوند. .PP رشته‌ها می‌توانند متنی مستقیم باشند که با کدگذاری محلی مورد استفاده برای پروندهٔ Compose کدگذاری شده‌اند، یا یک کد نویسهٔ هشت‌هشتی (octal) یا شانزده‌شانزدهی (hexadecimal) اسکیپ‌شده باشند. کدهای هشت‌هشتی به صورت \fB\*q\e123\*q\fP و کدهای شانزده‌شانزدهی به صورت \fB\*q\ex3a\*q\fP مشخص می‌شوند. نیازی نیست در بخش سمت راست یک قاعده، علاوه بر نام keysym، رشته‌ای با کدگذاری محلی نیز مشخص شود. اگر رشته حذف شود، Xlib بر اساس محلی جاری آن را از روی keysym تشخیص می‌دهد. برای مثال، اگر قاعده‌ای به این شکل باشد: .RS \fB : \*q\e300\*q Agrave\fP .RE نتیجهٔ ترکیب همیشه حرفی با کد "\e300" خواهد بود. اما اگر قاعده به این شکل باشد: .RS \fB : Agrave\fP .RE نتیجه به نحوهٔ نگاشت Agrave در محلی جاری بستگی خواهد داشت. .SH "متغیرهای محیطی (ENVIRONMENT)" .TP .B XCOMPOSEFILE پرونده‌ای که برای توالی‌های Compose استفاده می‌شود. .TP .B XCOMPOSECACHE دایرکتوری مورد استفاده برای ذخیرهٔ حافظهٔ موقت (کَش) پرونده‌های Compose کامپایل‌شده. .SH "فایل‌ها (FILES)" .TP .I $HOME/.XCompose پروندهٔ پیش‌فرض Compose کاربر در صورتی که XCOMPOSEFILE تنظیم نشده باشد. .TP .I /usr/share/X11/locale/compose.dir پرونده‌ای که مسیر پروندهٔ Compose مورد استفاده برای هر locale را فهرست می‌کند. .TP .I /usr/share/X11/locale//Compose پروندهٔ پیش‌فرض Compose سیستم برای locale مربوطه که از طریق compose.dir نگاشت شده است. .TP .I /var/cache/libx11/compose/ دایرکتوری کش سراسری سیستم برای پرونده‌های Compose کامپایل‌شده. .TP .I $HOME/.compose-cache/ دایرکتوری کش ویژهٔ هر کاربر برای پرونده‌های Compose کامپایل‌شده. .SH "همچنین ببینید (SEE ALSO)" .BR XLookupString (3), .BR XmbLookupString (3), .BR XwcLookupString (3), .BR Xutf8LookupString (3), .BR mkcomposecache (1), .BR locale (7). .br \fI\*(xL\fP