@@ -6,6 +6,7 @@ import android.graphics.Paint
66import android.graphics.Rect
77import android.graphics.RectF
88import android.graphics.drawable.Drawable
9+ import android.text.Layout
910import android.text.StaticLayout
1011import android.text.TextPaint
1112import android.util.SparseArray
@@ -127,7 +128,8 @@ private class HeaderUpdater(
127128 date.isWeekend -> viewState.weekendHeaderTextPaint
128129 else -> viewState.headerTextPaint
129130 }
130- return dayLabel.toTextLayout(textPaint = textPaint, width = viewState.dayWidth.toInt())
131+ val alignment = if (dayLabel.isArabic()) Layout .Alignment .ALIGN_CENTER else Layout .Alignment .ALIGN_NORMAL
132+ return dayLabel.toTextLayout(textPaint = textPaint, width = viewState.dayWidth.toInt(), alignment = alignment)
131133 }
132134
133135 private fun <E > SparseArray<E>.hasKey (key : Int ): Boolean = indexOfKey(key) >= 0
@@ -173,8 +175,9 @@ private class DateLabelsDrawer(
173175 val key = date.toEpochDays()
174176 val textLayout = dateLabelLayouts[key]
175177
178+ val offset = if (textLayout.text.toString().isArabic()) 0f else viewState.dayWidth / 2f
176179 withTranslation(
177- x = startPixel + viewState.dayWidth / 2f ,
180+ x = startPixel + offset ,
178181 y = viewState.headerPadding,
179182 ) {
180183 draw(textLayout)
0 commit comments